Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android技術基礎 >> 第50章、自動提示AutoCompleteTextView(從零開始學Android)

第50章、自動提示AutoCompleteTextView(從零開始學Android)

編輯:Android技術基礎

我們在查航班信息時,或者在百度、Google搜索時,當你在搜索框裡輸入一些字符時,會自動彈出一個下拉框提示類似的結果。在Android中提供了兩種智能輸入框,它們是AutoCompleteTextView、MultiAutoCompleteTextView。

AutoCompleteTextView、MultiAutoCompleteTextView二者區別是前者選擇一個,後者可以選擇多個。

一、布局文件

打開activity_main.xml文件。

輸入以下代碼:

[html] view plain copy  
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout   
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:orientation="vertical"  
  5.     android:layout_width="match_parent"  
  6.     android:layout_height="match_parent">  
  7.       
  8.     <AutoCompleteTextView android:id="@+id/single"  
  9.         android:layout_width="match_parent"  
  10.         android:layout_height="wrap_content"/>  
  11.       
  12.     <MultiAutoCompleteTextView android:id="@+id/multi"  
  13.         android:layout_width="match_parent"  
  14.         android:layout_height="wrap_content"/>  
  15.   
  16. </LinearLayout>  


 

二、程序文件

打開“src/com.genwoxue.autocompletetextview/MainActivity.java”文件。

然後輸入以下代碼:

[java] view plain copy  
  1. package com.example.autocompletetextview;  
  2.   
  3.   
  4. import android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.widget.ArrayAdapter;  
  7. import android.widget.AutoCompleteTextView;  
  8. import android.widget.MultiAutoCompleteTextView;  
  9.   
  10. public class MainActivity extends Activity {  
  11.   
  12.         //初始化城市列表  
  13.         private static final String[] city=new String[]  
  14.             {"烏魯木齊市", "北京市", "鄭州市", "上海市","天津市", "深圳市", "廣州市", "南京市","大連市","大同市"};  
  15.           
  16.         //聲明AutoCompleteTextView、MultiAutoCompleteTextView對象  
  17.         private AutoCompleteTextView single=null;  
  18.         private MultiAutoCompleteTextView multi=null;  
  19.           
  20.         @Override  
  21.         public void onCreate(Bundle savedInstanceState) {  
  22.             super.onCreate(savedInstanceState);  
  23.             setContentView(R.layout.activity_main);  
  24.               
  25.             //獲取AutoCompleteTextView、MultiAutoCompleteTextView對象  
  26.             single=(AutoCompleteTextView)findViewById(R.id.single);  
  27.             multi=(MultiAutoCompleteTextView)findViewById(R.id.multi);  
  28.               
  29.             //創建適配器  
  30.             ArrayAdapter<String> adapter=new ArrayAdapter<String>(  
  31.                     this,   
  32.                     android.R.layout.simple_dropdown_item_1line,  
  33.                     city);  
  34.               
  35.             //初始化single  
  36.             single.setAdapter(adapter);  
  37.             //設置輸入多少字符後提示,默認值為2,在此設為1  
  38.             single.setThreshold(1);  
  39.               
  40.             //初始化multi  
  41.             multi.setAdapter(adapter);  
  42.             multi.setThreshold(1);  
  43.             //用戶必須提供一個MultiAutoCompleteTextView.Tokenizer用來區分不同的子串。  
  44.             multi.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());  
  45.         }  
  46.     }  

 

說明:

(1)AutoCompleteTextView常見方法

clearListSelection():清除選中的列表項;
 
dismissDropDown():如果存在關閉下拉菜單;
 
getAdapter():獲取適配器。

(2)MultiAutoCompleteTextView常見方法

enoughToFilter():當文本長度超過阈值時過濾;

performValidation():代替驗證整個文本,這個子類方法驗證每個單獨的文字標記;
 
setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用戶正在輸入時,tokenizer設置將用於確定文本相關范圍內。


 

三、運行結果

 

\ \

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