Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 自動補全提示輸入AutoCompleteTextView、 MultiAutoCompleteTextView

Android 自動補全提示輸入AutoCompleteTextView、 MultiAutoCompleteTextView

編輯:關於Android編程

以在搜索框搜索時,自動補全為例:

其中還涉及到一個詞,Tokenizer:分詞器,分解器。

上效果圖:

MainActivity.java:

package com.joan.testautocomletetextview;
import android.R.array;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView.Tokenizer;
public class MainActivity extends Activity {
 AutoCompleteTextView actv;
 MultiAutoCompleteTextView mactv;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  actv = (AutoCompleteTextView) findViewById(R.id.actv);
  mactv = (MultiAutoCompleteTextView) findViewById(R.id.mactv);
  // 取到Strings.xml中定義的數組
  String[] names = this.getResources().getStringArray(R.array.names);
  // 適配器
  // 第三個參數是數據源
  // 第二個參數是樣式資源的id
  ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
  android.R.layout.simple_expandable_list_item_1, names);
  // =============只能選擇單個的自動補全=====================
  actv.setAdapter(adapter);
  // =============可選擇多個的自動補全=====================
  // Tokenizer分詞器,分解器
  // MultiAutoCompleteTextView.CommaTokenizer();這個簡易的分解器可用於對由逗號和若干空格分割的列表進行分解.
  Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
  mactv.setAdapter(adapter);
  mactv.setTokenizer(t);
 }
}

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="app_name">TestAutocompleteTextView</string>
 <string name="action_settings">Settings</string>
 <string name="hello_world">Hello world!</string>
 <!--定義一個數組 -->
 <string-array name="names">
  <item >zhangyu</item>
  <item >zhangxinzhe</item>
  <item >zhangxingxing</item>
  <item >liudehua</item>
  <item >liuyi</item>
 </string-array>
</resources>

activity_main.xml:

<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"
 >
 <TextView 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="只可選擇單個"
  />
 <!--AutoCompleteTextView 自動補全,只能選擇一個值 
  android:completionThreshold="1" 輸入第一個字後自動補全 -->
 <AutoCompleteTextView
  android:id="@+id/actv"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:hint="請輸入搜索的名字"
  android:completionThreshold="1"
  />
 <TextView 
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="可選擇多個"
  />
 <!--MultiAutoCompleteTextView 可以選擇多個值 -->
 <MultiAutoCompleteTextView 
  android:id="@+id/mactv"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:hint="請輸入搜索的名字"
  android:completionThreshold="1"
  />
</LinearLayout>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持本站!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved