Android實現(xiàn)動態(tài)自動匹配輸入內(nèi)容
Android實現(xiàn)動態(tài)自動匹配的控件主要有MultiAutoCompleteTextView和AutoCompleteTextView
MultiAutoCompleteTextView:
可支持選擇多個值(在多次輸入的情況下),分別用分隔符分開,并且在每個值選中的時候再次輸入值時會自動去匹配
可用在發(fā)短信,發(fā)郵件時選擇聯(lián)系人這種類型當(dāng)中,使用時需要執(zhí)行設(shè)置分隔符方法.
AutoCompleteTextView:
支持基本的自動完成功能,適用在各種搜索功能中,并且可以根據(jù)自己的需求設(shè)置他的默認(rèn)顯示數(shù)據(jù)
兩個控件都可以很靈活的預(yù)置匹配的那些數(shù)據(jù),并且可以設(shè)置輸入多少值時開始匹配等等功能
效果圖如下
輸入相應(yīng)的字符就會出現(xiàn)相應(yīng)的提示,具體操作如下
在MainActivity.java中
package com.example.myapplication; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class MainActivity extends AppCompatActivity { //初始化控件 private AutoCompleteTextView autoCompleteTextView; private MultiAutoCompleteTextView multiAutoCompleteTextView; //初始化數(shù)據(jù)源 private String [] res = {"biejing","nangchang","chengdu","shanghai"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /** * AutoCompleteTextView的用法 */ autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.auto_textView); //創(chuàng)建適配器 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res); //將adapter與autoCompleteTextView綁定 autoCompleteTextView.setAdapter(adapter); /** * MultiAutoCompleteTextView的用法 */ multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.mauto_textView); //將adapter與multiAutoCompleteTextView綁定 multiAutoCompleteTextView.setAdapter(adapter); //設(shè)置以逗號為分隔符結(jié)束的符號 multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }
在activity_layout.xml中
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" 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="com.example.myapplication.MainActivity" android:orientation="vertical" > <AutoCompleteTextView android:completionThreshold="3" android:id="@+id/auto_textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入關(guān)鍵字" /> <MultiAutoCompleteTextView android:hint="請輸入多個關(guān)鍵字" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/auto_textView" android:id="@+id/mauto_textView" /> </RelativeLayout>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
RecyclerView使用payload實現(xiàn)局部刷新
這篇文章主要為大家詳細(xì)介紹了RecyclerView使用payload實現(xiàn)局部刷新,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-10-10圖解 Kotlin SharedFlow 緩存系統(tǒng)及示例詳解
這篇文章主要為大家介紹了圖解 Kotlin SharedFlow 緩存系統(tǒng)及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10Android 組件Gallery和GridView示例講解
本文主要講解Android 組件Gallery和GridView,這里詳細(xì)介紹組件Gallery和GridView的知識要點,并附示例代碼和實現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-08-08Flutter開發(fā)之Shortcuts快捷鍵組件的用法詳解
在桌面端的開發(fā)中,鍵盤快捷鍵是非常常見而必要的,F(xiàn)lutter?既然可以開發(fā)桌面端應(yīng)用,那必然要提供自定義快捷鍵,所以本文就來和大家講講Shortcuts組件的簡單使用吧2023-05-05