1. 程式人生 > >Android控制元件之AutoCompleteTextView提示輸入

Android控制元件之AutoCompleteTextView提示輸入

效果圖 

AutoComepleteTextView 控制元件的主要的作用是在使用者輸入中,提示輸入。但是隻能提示一次。這裡就出項了MultiautoCompleteTextView控制元件,其主要的功能是也是在使用者輸入中提示輸入。

AutoComepleteTextView與MultiautoCompleteTextView區別

AutoCompleteTextView:
        支援基本的自動完成功能,適用在各種搜尋功能中,並且可以根據自己的需求設定他的預設顯示資料。

MultiAutoCompleteTextView:
       該控制元件可支援選擇多個值(在多次輸入的情況下),分別用分隔符分開,並且在每個值選中的時候再次輸入值時會自動去匹配。可用在發簡訊,發郵件時選擇聯絡人這種型別當中。使用時需要執行設定分隔符方法。

activity_main:

<?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:background="@mipmap/beijingtub"
        android:orientation="vertical"
        tools:context=".MainActivity">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="AutoCompleteTextView"
          />
    <AutoCompleteTextView
            android:id="@+id/auto"
            android:layout_width="match_parent"
            android:layout_height="50dp"/>


    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="MultiAutoCompleteTextView"
    />
    <MultiAutoCompleteTextView
            android:id="@+id/mul"
            android:layout_width="match_parent"
            android:layout_height="50dp"/>


</LinearLayout>

MainActivity.java:

這裡需要對控制元件新增介面卡。可以參考其他博主文章https://blog.csdn.net/github_37855556/article/details/65434509?fps=1&locationNum=6

package com.example.a13468.mydemo11_autocompletetextview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {
    private AutoCompleteTextView auto;
    private MultiAutoCompleteTextView mul;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        auto = (AutoCompleteTextView) findViewById(R.id.auto);
        mul = (MultiAutoCompleteTextView) findViewById(R.id.mul);

        String [] autoString =new String[]{
                "China四川","China成都","China瀘州","liquor劍南春","liquor瀘州老窖1573","liquor茅臺"
        };

        /**
         * 第二個引數表示介面卡的下拉風格
         */
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,
                android.R.layout.simple_spinner_dropdown_item,autoString);

        /**
         * 新增介面卡
         */
        auto.setAdapter(adapter);

        /**
         * MultiAutoCompleteTextView新增介面卡
         */
        mul.setAdapter(adapter);
        //完成選項的拆分,分隔符為逗號
        mul.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}