天天看点

自动补全文本框AutoCompleteTextView

      此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>
           

运行截图:

自动补全文本框AutoCompleteTextView