AutoCompleteTextView
[功能]
默认的AutoCompleteTextView是不支持数据更新的 即 开始数据必须已经放入 静态数组String[]
[代码 步骤]
1. 构建布局 只有2个View: AutoCompleteTextView Button
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<AutoCompleteTextView
android:id="@+id/edit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Create new"/>
</LinearLayout>
2. 定义默认数组
String[] city = {
"shanghai","beijing","tianjing","wuhan","sichuan"
};
3. View 初始化
public void intialView(){
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, city);
autoview = (AutoCompleteTextView) findViewById(R.id.edit);
autoview.setWidth(200);
autoview.setAdapter(adapter);
}
4. AutoCompleteTextView 默认是:当输入2个字符以上 才会提示的 这是可以设定的 现在要求 1 个字符 就自动提示
//default=2
autoview.setThreshold(1);
5. 如何添加新的匹配字串
Button btn = (Button)findViewById(R.id.button);
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// TODO Auto-generated method stub
//得到 AutoCompleteTextView 的 内容
String string = autoview.getText().toString();
//把 目标字串 放入 ArrayAdapter<String> 中
adapter.add(string);
}
});