安卓自動提示文字框 AutoCompleteTextView和MultiAutoCompleteTextView
阿新 • • 發佈:2018-11-10
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);
}
}