Android用户输入自动提示控件AutoCompleteTextView使用方法
作者:饭饭_fan 时间:2022-02-25 14:59:50
一、简介
1、AutoCompleteTextView的作用
2、AutoCompleteTextView的类结构图
也就是拥有EditText的各种功能
3、AutoCompleteTextView工作原理
AutoCompleteTextView的自动提示功能肯定需要适配器提供数据
4、Android里的适配器
5、适合AutoCompleteTextView的适配器
ArrayAdapter
二、AutoCompleteTextView实现自动提示的方法
1)AutoCompleteTextView实现自动提示的方法
第一步、创建适配器
String[] arr={"凯撒","凯撒广场","凯撒大帝"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, R.layout.textview, arr);
第二步、AutoCompleteTextView对象应用适配器
autoCompleteTextView1.setAdapter(adapter);
说明:
提示文本是用textview实现的,提示文本里面的提示数据就是String[] arr。
三、代码实例
代码:
fry.Activity01
package fry;
import com.example.AutoCompleteTextViewDemo1.R;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class Activity01 extends Activity{
private AutoCompleteTextView autoCompleteTextView1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01);
autoCompleteTextView1=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
/*
* AutoCompleteTextView实现自动提示的方法
* 第一步、创建适配器
* 第二步、AutoCompleteTextView对象应用适配器
*
*/
String[] arr={"凯撒","凯撒广场","凯撒大帝"};
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this, R.layout.textview, arr);
autoCompleteTextView1.setAdapter(adapter);
}
}
fry.Activity01
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
/AutoCompleteTextViewDemo1/res/layout/textview.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 这里是直接TextView,而不是layout下的TextView -->
</TextView >
四、易错点
1、这里是直接TextView,而不是layout下的TextView
/AutoCompleteTextViewDemo1/res/layout/textview.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 这里是直接TextView,而不是layout下的TextView -->
</TextView >
来源:http://www.cnblogs.com/Renyi-Fan/p/7286939.html