原创内容,转载请注明出处
AutoCompleteTextView控件是自动完成文本框,主要是模糊匹配输入值,并自动完成以达到减少键盘的输入频率,ApiDemos中主要有五个关于AutoCompleteTextView对应的例子。
1、第一个例子
首先看第一个例子,其对应java Activity文件和布局文件分别是AutoComplete1.java和autoComplete_1.xml。
1.布局文件是一个简单的线性布局,略。
2.在AutoComplete1.java文件中,首先构建自动提示的国家数据集合,通过数据集合在去构建ArrayAdapter适配器,然后将适配器数据设入自动完成文本框控件中。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete_1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit);
textView.setAdapter(adapter);
}
2、第二个例子
第二个例子和第一个例子基本一样,仅仅只是布局文件不一样,将线性布局组件的gravity属性修改为bottom,使得布局组件中所有控件都向下开始堆叠。
3、第三个例子
1.该例子中的布局文件添加了垂直方向的滚动条<ScrollView>。
2.构建ArrayAdapter适配器数据(数据是第一个例子构建的国家数据集合)。
4、第四个例子
1.布局文件,略。
2.AutoComplete4.java类:在该类中自定义了一个内部类ContactListAdapter适配器,该适配器类继承CursorAdapter,重写了它的两个方法newView、bindView和runQueryOnBackgroundThread。该类主要是将Android电话联系人中的名称转换成组装到适配器中。
5、第五个例子
该例和第四个例子基本一致,仅仅只是修改了布局文件,增加completionHint属性值,该值会显示在自动完成框最末尾。
6、第六个例子
该例子中使用MultiAutoCompleteTextView替换AutoCompleteTextView控件,使得自动完成控件可输入多个项,每个项都按逗号分隔。MultiAutoCompleteTextView是AutoCompleteTextView的扩展子类,它们用法基本一致。