adapter1 = new ArrayAdapter<String>(this, R.layout.dropdownitem);
adapter1.add("hello");
adapter1.add("hello eoe");
adapter1.add("hello zhaoyihong");
adapter1.add("hello chenyuxang");
adapter1.add("java");
adapter1.add("javascript");
autoTextView.setAdapter(adapter1);
mAutoTextView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);
String[] str = new String[] { "hello", "hello eoe",
"hello chenyuxiang", "java", "python" };
adapter2 = new ArrayAdapter<String>(this, R.layout.dropdownitem, str);
mAutoTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
mAutoTextView.setAdapter(adapter2);
AutoCompleteTextView 是自动补全的单行文本框
MultiAutoCompleteTextView 是自动不全的多行文本框
两者设置好adapter之后就可以自动匹配adapter中设置的词语了
上面写了两种添加词语的方式,add方法适合少量.String数组适合大量词语.
adapter需要设置一个view对象 ,本来可以使用Android.R.layout.simple_dropdown_item_1line ,但是它的字的颜色是白色的.
所以复制它自己写了一个 颜色 ff000000是全黑
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/dropDownItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:color="#ff000000"
android:ellipsize="marquee" />
MultiAutoCompleteTextView 需要setTokenizer 来设置分隔符