實現自動提示輸入框AutoCompleteTextView

KaceyTan 8年前發布 | 5K 次閱讀 安卓開發 Android開發 移動開發

  • AutoCompleteTextView繼承EditText,默認為輸入2個字符才出現提示
  • MutiAutoCompleteTextView繼承AutoCompleteTextView,使用 setTokenizer 設置分詞方式(CommaTokenizer)
  • 設置","逗號為分隔符:

    setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer())

資源文件

<string-array name="hints">
        <item>who</item>
        <item>where</item>
        <item>what</item>
        <item>how</item>
        <item>foot</item>
        <item>city</item>
        <item>cupcake</item>
        <item>mashmallow</item>
        <item>nougat</item>
</string-array>

布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    tools:context="cn.ucai.day09_12_08_adapterview.AutoActivity_12_11">
    <AutoCompleteTextView
        android:id="@+id/autoTextView"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        />
    <MultiAutoCompleteTextView
        android:id="@+id/multiTextView"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        />
</LinearLayout>

兩個自動補全輸入框效果圖

布局.png

AutoTextView輸入框效果圖

AutoTextView.png

MutiAutoTextView輸入框效果圖

MutiAutoTextView.png

實現java代碼

String hints[]=getResources().getStringArray(R.array.hints);
AutoCompleteTextView   autoCompleteTextView= (AutoCompleteTextView) findViewById(R.id.autoTextView);
MultiAutoCompleteTextView multiAutoCompleteTextView= (MultiAutoCompleteTextView) findViewById(R.id.multiTextView);
ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_1,hints);
autoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setAdapter(adapter);
//設置","逗號去分割
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

 

來自:http://www.jianshu.com/p/7a00295910fc

 

 本文由用戶 KaceyTan 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!