AutoCompleteTextView自动提示,当用户输入关键字时会自动补全,并显示在一个下拉列表中,用户可以选择一项完成输入。
实现步骤;
1、在布局文件中添加AutoCompleteTextView
2、在activity中定义一个字符串类型的数组并添加数据
3、获取AutoCompleteTextView
4、设置适配器
5、给AutoCompleteTextView绑定适配器
------------------------------------------------------------------------------
布局文件代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<AutoCompleteTextView
android:id="@+id/auto"
android:completionThreshold="1"
android:layout_width="match_parent"
android:textColor="#000000"
android:hint="请查找的输入关键字"
android:layout_height="wrap_content" />
</RelativeLayout>
注意:completionThreshold属性是设置输入到第几个字符时联想
-------------------------------------------------------------------------
Activity代码:
package com.example.autocompletetextview;
import android.os.Bundle;
import android.R.string;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//使用数组进行绑定
String[] autoString=new String[]{"android","app","android平台"};
//实例化适配器 第一个参数上下文 第二个参数布局文件 第三个参数绑定的数据
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoString);
//获取控件
AutoCompleteTextView autoCompleteTextView=(AutoCompleteTextView) findViewById(R.id.auto);
//设置适配器
autoCompleteTextView.setAdapter(adapter);
}
}
提示:红色表示关键代码,其余的代码在创建项目的时候会自动生成。
在做这个案例的时候出现了提示列表里面的内容全是白色的最后发现//实例化适配器 第一个参数上下文 第二个参数布局文件 第三个参数绑定的数据
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoString);在这里只能填写this
希望大家有所帮助吧!如果大家有想讨论的可以加我qq935731320