您的位置:首页 > 移动开发 > Android开发

【Android】EditText输入框自动提示

2013-08-26 14:50 330 查看
经常看到EditText有自动提示功能,这个功能用处不大,但是用户体验不错。那么,Android要怎么实现的呢?

实现此功能的是EditText的子类控件AutoCompleteTextView。既是子类,所以有着全部父类的属性,即用法与EditText相同。(MultiAutoCompleteTextView这个的属性更加强大,可以输入多个,类似发短信时选择多个联系人)。

但Edittext也有一个缺点,那就是必须输入2个字符后才会提示。

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单个城市:"
android:textSize="20dp" />

<AutoCompleteTextView
android:id="@+id/oneCity"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="多个城市:"
android:textSize="20dp" />

<MultiAutoCompleteTextView
android:id="@+id/manyCity"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>

</LinearLayout>

java文件:
autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.oneCity);
multiAutoCompleteTextView = (MultiAutoCompleteTextView)findViewById(R.id.manyCity);
adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_dropdown_item_1line,list);
autoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setAdapter(adapter);

效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android EditText