android AutoCompleteTextView控件是继承自EditText类,相当于EditText类的增强版,它能自动提示文字并帮助我们快速筛选需要的信息,使用非常的简单,以下将简单学习如何使用AutoCompleteTextView这个控件。
1:在activity_main.xml中加入AutoCompleteTextView标签,并自定义id="myAutoComplete",hint提示输入。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.baidu.smalldemo.MainActivity"> <AutoCompleteTextView android:id="@+id/myAutoComplete" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="65dp" android:hint="输入国家名" android:ems="10" /> //表示10个字符长度,这个设置似乎没啥用 </RelativeLayout>
2:在MainActivity.java中给AutoCompleteTextView提供数据,当EditText输入框输入数据时,如果开头2个字符一样,则会自动提示以供你选择,非常的方便。
package com.baidu.smalldemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends AppCompatActivity { private AutoCompleteTextView textView; //提示所需要的数据 private static final String[] strArr = new String[] { "China", "America", "Japan", "Germany", "Spain","Canada" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = (AutoCompleteTextView)findViewById(R.id.myAutoComplete); /** * 参数1:context上下文对象 * 参数2:int代表的所在layout位置,系统参数 * 参数3:data数据源 */ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,strArr); textView.setAdapter(adapter); } }
3:将app运行之后,效果如图所示。