此demo实现了自动补全文本框AutoCompleteTextView。
demo:下载地址
MainActivity.java:
package fk.androiddemo_018;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import java.util.ArrayList;
import java.util.List;
//0,这玩意至少需要输入2个字符才会提示
//1,布局文件中声明AutoCompleteTextView
//2,创建提示条目的布局文件
//3,用ArrayAdapter给AutoCompleteTextView提供数据
//4,添加adapter
public class MainActivity extends AppCompatActivity {
AutoCompleteTextView autoText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<String> list=new ArrayList<>();
list.add("bobo");
list.add("lili");
String ss[]=new String[]{"guagua","haha","gagaga","guoguo","huahua"};
// ArrayAdapter adapter=new ArrayAdapter(
// this,R.layout.list_item,R.id.text,list);
//下面的添加方法比上面的更简单
ArrayAdapter adapter=new ArrayAdapter(
this,R.layout.list_item,R.id.text,ss);
autoText=(AutoCompleteTextView)findViewById(R.id.autoText);
autoText.setAdapter(adapter);
}
}
MainActivity布局文件:
<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/autoText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp" />
</RelativeLayout>
提示子条目布局文件:
<?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" >
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
android:textSize="16sp"
android:textColor="#000"/>
</LinearLayout>
运行截图: