?
在Android中提供了俩种智能输入框--是MultiAutoCompleteTextView和AutoCompleteTextView。它们的功能大致一样。
?
AutoCompleteTextView使用方法如下:
?? ? ? ?ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, ? ? ? ? ? ? ? ? ? ? ? android.R.layout.simple_dropdown_item_1line, autoString); //autoString为一静态的字符数组
?? ? ? ?AutoCompleteTextView m_auto =(AutoCompleteTextView)findViewById(R.id.antobyname);
?? ? ? ?m_auto.setAdapter(adapter); //为智能输入框设置适配器
?? ? ? ?m_auto.setThreshold(1); //更改触发提示的字符长度,default=2
?
AutoCompleteTextView默认的数据源是静态数组,通过以下代码可以动态更新AutoCompleteTextView提示的内容:
?? ? ? ? ? ?//得到 AutoCompleteTextView 的 内容
?? ?String string = autoview.getText().toString();
???//把 目标字串 放入 ArrayAdapter<String> 中
????adapter.add(string);
?
MultiAutoCompleteTextView继承自AutoCompleteTextView,延长AutoCompleteTextView的长度,使用时必须要提供一个MultiAutoCompleteTextView.Tokenizer来区分不同的子串,使用方法如下:
?? ? ? ?MultiAutoCompleteTextView m_mutil = (MultiAutoCompleteTextView)
findViewById(R.id.m_autobyname);
?? ? ? ? ? ? ?m_mutil.setAdapter(adapter);
?? ? ? ? ? ? ?m_mutil.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //用户正在输入时,tokenizer设置用于确定文本相关范围内