java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.EditText
↳ android.widget.AutoCompleteTextView
它是一个可编辑的TextView,使用该类型的控件,当用户输入文字时候,会以列表的形式显示事先在适配器中定义的字符串。适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据。比如浏览器搜索框,通讯录输入框等。
简单的例子如下:
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="autoCompleteTextView" /> <AutoCompleteTextView android:id="@+id/autoTextView" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
实现activity:Main.java
public class Main extends Activity { /** Called when the activity is first created. */ private AutoCompleteTextView autoCompleteTextView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); autoCompleteTextView = (AutoCompleteTextView) this .findViewById(R.id.autoTextView); String[] autoStr = new String[] { "天气", "天气预报", "天气晴朗", "qq", "qq 游戏"}; // 第二个参数表示适配器下了风格 ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.this, android.R.layout.simple_dropdown_item_1line, autoStr); autoCompleteTextView.setAdapter(adapter); } }
MultiAutoCompleteTextView控件:
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
↳ android.widget.EditText
↳ android.widget.AutoCompleteTextView
↳ android.widget.MultiAutoCompleteTextView
它类似于AutoCompleteTextView控件,如果输入多个值时自动显示出下拉框,如果输入的多个则分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
用的较多的是群发短信,邮件等,使用时需要执行设置分隔符方法。
简单的例子如下:
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="MultiAutoCompleteTextView"/> <MultiAutoCompleteTextView android:id="@+id/mul" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
实现activity:Main.java
public class Main extends Activity { /** Called when the activity is first created. */ private MultiAutoCompleteTextView mul; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mul = (MultiAutoCompleteTextView)findViewById(R.id.mul); String[] autoStr = new String[] { "天气", "天气预报", "天气晴朗", "qq", "qq 游戏"}; // 第二个参数表示适配器下了风格 ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.this, android.R.layout.simple_dropdown_item_1line, autoStr); autoCompleteTextView.setAdapter(adapter); mul.setAdapter(adapter); mul.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }