国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現動態自動匹配輸入內容功能

2019-10-23 18:27:20
字體:
來源:轉載
供稿:網友

什么是動態自動匹配輸入內容呢?舉個例子,當我們在百度等搜索引擎的輸入框中輸入想要搜索的關鍵詞,輸入框下面會提示很多相關聯的熱門搜索項,效果圖如下

Android動態自動匹配輸入內容,Android動態自動匹配內容,Android動態自動匹配

那在安卓中如何實現這種效果呢?在這里給大家推薦兩個Android的控件:

AutoCompleteTextView
MultiAutoCompleteTextView

一、AutoCompleteTextView

獨特屬性:android:completionThreshold=”2”—–設置輸入多少字符時自動匹配

首先,我們先在res文件夾(我用的是AndroidStudio)下的active_main.xml下面加入AutoCompleteTextView控件,并設置好大小寬高等其他一些基礎屬性

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.admin.demo.MainActivity"> <AutoCompleteTextView android:completionThreshold="2"  android:id="@+id/autoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入你要搜索的關鍵詞" /></LinearLayout>

接著,我們到java目錄下的MainActivity.java加入相應的代碼:

package com.example.admin.demo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class MainActivity extends AppCompatActivity { private AutoCompleteTextView acTextView;  //建立一個數組,保存我們想要提示的文本內容 private String[] res = {"ab1","ab2","ab3"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件,返回類型view強制轉換成AutoCompleteTextView acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);  //添加適配器,并初始化數據源,用來匹配文本框輸入的內容 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res); //將適配器與當前控件綁定 acTextView.setAdapter(adapter); }}

這樣代碼就完成了,因為我們在AutoCompleteTextView控件中設置了android:completionThreshold=”2”,即當我們輸入到第2個字符時開始進行匹配,讓我們將當前應用程序布置到模擬器里面看一下效果:

Android動態自動匹配輸入內容,Android動態自動匹配內容,Android動態自動匹配

二、MultiAutoCompleteTextView

有時候我們在文本框中需要進行多次輸入,比如我們在發短信或者寫郵件的時候,往往需要多選聯系人:

Android動態自動匹配輸入內容,Android動態自動匹配內容,Android動態自動匹配

在這種時候,我們就可以選擇MultiAutoCompleteTextView:

  • 支持選擇多個值(在多次輸入的情況下),分別用分隔符分開,并且在每個值選中的時候再次輸入值時會自動去匹配
  • 獨特屬性:android:completionThreshold=”2”—–設置輸入多少字符時自動匹配
  • 設置分隔符:macTextView.setTokenizer(newMultiAutoCompleteTextView.CommaTokenizer());

這個控件的使用方法跟AutoCompleteTextView大體上還是差不多的,只是多了設置分隔符這一步

activity_main.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.admin.demo.MainActivity"> <MultiAutoCompleteTextView android:completionThreshold="2" android:id="@+id/multiAutoCompleteTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入收件人" /></LinearLayout>

MainActivity.java:

package com.example.admin.demo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.MultiAutoCompleteTextView;public class MainActivity extends AppCompatActivity { private MultiAutoCompleteTextView macTextView; //建立一個數組,保存我們想要提示的文本內容 private String[] res = {"ab1","ab2","ab3","cd1","cd2","cd3"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件,返回類型view強制轉換成AutoCompleteTextView macTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView); //添加適配器,并初始化數據源,用來匹配文本框輸入的內容 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res); //將適配器與當前控件綁定 macTextView.setAdapter(adapter); //設置以逗號為分隔符為結束的符號 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }}

運行結果:

Android動態自動匹配輸入內容,Android動態自動匹配內容,Android動態自動匹配

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东明县| 当雄县| 富裕县| 四会市| 安顺市| 富锦市| 镇远县| 瑞丽市| 如皋市| 安庆市| 枝江市| 淳化县| 榆林市| 石嘴山市| 广灵县| 喀喇沁旗| 邯郸县| 长顺县| 万山特区| 武城县| 玉田县| 兴仁县| 疏附县| 洪雅县| 任丘市| 东安县| 报价| 石狮市| 富源县| 余江县| 阳东县| 龙山县| 三原县| 泾阳县| 晋宁县| 通许县| 辽宁省| 舞阳县| 明光市| 巴塘县| 抚远县|