Android技术学习,更多知识请访问https://www.itkc8.com
作用:实现用户输入的内容有自动提示的功能,类似百度的搜索结果。
AutoCompleteTextView和MultiAutoCompleteTextView
1.在使用时候,首先定义一个布局
<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:id="@+id/textViewId1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textViewString1"/>
<AutoCompleteTextView android:id="@+id/auto"
android:layout_width="80dp"
android:layout_height="wrap_content"/>
<!-- 多个选项提示 -->
<TextView android:id="@+id/textViewId2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/textViewString2"/>
<MultiAutoCompleteTextView android:id="@+id/mactv"
android:layout_width="90dp"
android:layout_height="wrap_content"/>
</LinearLayout>
2.API中有很多适配器,如数组适配器
public class MainActivity extends Activity {
private AutoCompleteTextView actv;
private MultiAutoCompleteTextView mactv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
actv = (AutoCompleteTextView) this.findViewById(R.id.auto);
// 适配器,如数组适配器、
String[] autoStrings = new String[] { "中国", "中国人", "中国人在长沙", "湖南人",
"湖南人在北京", "湖南人在北京奋斗", "a", "av", "avtoky" };
// 第二个参数表示适配器的下拉风格
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
MainActivity.this, android.R.layout.simple_dropdown_item_1line,
autoStrings);
//单个
actv.setAdapter(arrayAdapter);// 填充好了适配器
//多个
mactv = (MultiAutoCompleteTextView)this.findViewById(R.id.mactv);
mactv.setAdapter(arrayAdapter);
//完成对选项的拆分功能,以逗号进行拆分
mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
Android技术学习,更多知识请访问https://www.itkc8.com