自动完成文本框(AutoCompleteTextView)的功能和用法

自动完成文本框(AutoCompleteTextView)实际上也是一个编辑文本框,但它比普通编辑框多了一个功能:当用户输入一定字符后,自动文本框会显示一个下拉菜单,供用户从中选择,当用户选择某个菜单选项之后,AutoCompleteTextView按用户选择自动填写该文本框。

使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该Adapter封装了AutoCompleteTextView预设的提示文本。

代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <!-- 定义一个自动完成文本框 -->
    <AutoCompleteTextView
        android:id="@+id/auto"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:completionHint="请选您喜欢的图书"
        android:dropDownHorizontalOffset="20dp"
        android:completionThreshold="1"/>


</LinearLayout>
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class AutoCompleteTextViewActivity extends Activity {

	// 定义字符串数组,作为提示的文本
	String[] books = new String[] { "疯狂Java讲义", "疯狂Ajax讲义", "疯狂XML讲义",
			"疯狂Workflow讲义" };

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.autocompletetextview);
		// 创建一个ArrayAdapter,封装数组
		ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
				android.R.layout.simple_dropdown_item_1line, books);
		AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.auto);
		//设置Adapter
		actv.setAdapter(aa);
	}

}

相关推荐