AutoCompleteTextView: 支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
MultiAutoCompleteTextView :可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
1.AutoCompleteTextView
<!--单一提示-->
<AutoCompleteTextView
android:id="@+id/main_atv"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!--多次提示-->
<MultiAutoCompleteTextView
android:id="@+id/main_mactv"
android:layout_width="match_parent"
android:layout_height="60dp" />
在layout创建actv.xml文件
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:textColor="@color/red"
android:layout_height="60dp">
</TextView>
package com.example.app7;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static android.icu.lang.UCharacter.GraphemeClusterBreak.T;
public class MainActivity extends AppCompatActivity {
private String [] data;
private ArrayAdapter<String> adapter;
private AutoCompleteTextView autoCompleteTextView;
private MultiAutoCompleteTextView multiAutoCompleteTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
data=new ArrayList();
autoCompleteTextView=findViewById(R.id.main_atv );
multiAutoCompleteTextView=findViewById(R.id.main_mactv);
//设置多次提示时,设置分隔符方法
MultiAutoCompleteTextView.Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
mian_matv.setTokenizer(t);
// 1.获得数据
data =new String[]{ "愤怒的小鸟", "汤姆猫", "落汤鸡", "牛牛", "哈巴狗", "神龙", "烤鸭",
"小象", "美人鱼", "九尾狐" };
// 2、初始化适配器
adapter =new ArrayAdapter(this,R.layout.actv,data);
// 3.绑定适配器
autoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setAdapter(adapter);
}
}