单词解释:
AutoCompleteTextView说白了就是一个TextView,只不过比普通的TextView多了一个功能,即动态匹配输入文本,最典型的应用就是搜索框了。比如当你想查询某个以’a’开头的单词,输入’a’以后,它就会自动弹出n个选项,例如abandon/ability/abnormal….
下面来看看AutoCompleteTextView的实现
1、首先是布局,添加AutoCompleteTextView,它有一个特殊的属性:
android:comletionThreshold= “2” 作用是设置输入多少字符时自动匹配,此处是输入2个字符,也就是说你至少要输入’ab’才会有选项提示。
2、然后就是在对应的Activity中实现其代码
(1)初始化控件和提示文本(那些abandon/abnormal/ability都是事先添加好的,为了区别,我们再添加几个以b开头的单词):
private AutoCompleteTextView acTextView;
private String[] res={“abandon”,”abnormal”,”ablity”,”best”,”break”};
并在onCreate中找到其id
acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
(2)新建一个适配器(选用ArrayAdapter),将之前添加的内容res绑定到适配器上:
ArrayAdapter adapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1,res);
(3)将适配器添加到AutoCompleteTextView中:
acTextView.setAdapter(adapter);
3、完整代码如下:
public class MainActivity extends Activity {
private AutoCompleteTextView acTextView;
private String[] res = {“abandon”,”abnormal”,”ablity”,”best”,”break”};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/**AutoCompleteTextView
* 1、初始化控件
* 2、需要一个适配器
* 3、初始化数据源----数据源去匹配文本框输入的内容
* 4、将adapter与当前AutoCompleteTextView绑定
*/
acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,res);
acTextView.setAdapter(adapter);
}