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运行之后,效果如图所示。
