區分自動完成文本框 AutoCompleteTextView和MultiAutoCompleteTextView
自動完成文本框(AutoCompleteTextView)從EditText派生而出,當用戶輸入一定字符之后,自動完成文本框會顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個才菜單項之后,AutoCompleteTextView按用戶選擇自動填寫該文本框
AutoCompleteTextView還派生了一個子類:MultiAutoCompleteTextView,該子類的功能與AutoCompleteTextView基本相似,只是MultiAutoCompleteTextView允許輸入多個提示項,多個提示項以分隔符分隔。MultiAutoCompleteTextView提供了setTokenizer()方法來設置分隔符。
那什么是多個提示項以分隔符分隔:
第一行文本框是用AutoCompleteTextView,當輸入 , 分隔想輸入第二個選項時沒有文本提示了,(圖一)
但是第二行文本框是用MultiAutoCompleteTextView,當輸入 , 分隔想輸入第二個選項時就會有文本提示!!!(圖二)
代碼塊:
<?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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!--定義一個自動完成的文本框,指定輸入一個字符后進行提示-->
<AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionHint="請選擇你喜歡的圖書:"
android:dropDownHorizontalOffset="10dp"
android:completionThreshold="1"/>
<!--定義哦一個MultiAutoCompleteTextView組件-->
<MultiAutoCompleteTextView
android:id="@+id/mato"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>
</LinearLayout>
package cn.com.autocompletetextviewtest;
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 {
AutoCompleteTextView actv;
MultiAutoCompleteTextView mauto;
//定義字符串數組,作為提示的文本
String[] books = new String[]{
"瘋狂java","瘋狂Ajax","瘋狂XML","瘋狂workflow"
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//創建一個ArrayAdapter,封裝數組
ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, books);
actv = (AutoCompleteTextView)findViewById(R.id.auto);
//設置Adapter
actv.setAdapter(aa);
mauto = (MultiAutoCompleteTextView)findViewById(R.id.mato);
//設置Adapter
mauto.setAdapter(aa);
//為MultiAutoCompleteTextView設置分隔符
mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
智能推薦
摸魚學Android 十六(列表選項框+自動完成文本框)
摸魚學Android 十六(列表選項框+自動完成文本框) UI控件之六 1 Spinner(列表選項框) 1.1 常用屬性 1.2 實例 2 AutoCompleteTextView(自動完成文本框) 2.1 常用屬性 2.2 實例 3 MultiAutoCompleteTextView(多提示項的自動完成文本框) 3.1 基本屬性 3.2 實例 UI控件之六 1 Spinner(列表選項框) 1...
AutoCompleteTextView-Spinner-MultiAutoCompleteTextView的用法
activity_main sp_main_item Spinner-效果圖 AutoCompleteTextView-單一提示...
安卓入門2:AutoCompleteTextView與MultiAutoCompleteTextView
AutoCompleteTextView功能:動態匹配輸入的內容 android:completionThreshold=”3” 設置輸入3個字符時開始自動匹配 MultiAutoCompleteTextView功能:動態匹配輸入的內容,支持選擇多個值,分別用分隔符分開 //MarqueeTextView\app\src\main\res\layout\activity_m...
Android自己主動提示文本框(AutoCompleteTextView)
自己主動提示文本框(AutoCompleteTextView)能夠加強用戶體驗,縮短用戶的輸入時間(百度的搜索框就是這個效果)。 首先。在xml中定義AutoCompleteTextView控件: activity_main.xml: 屬性completionHint是提示數據時候顯示給用戶看的提示信息: 屬性completionThreshold是提示的起始位置,默認值為2,即輸入兩個字符之后開...
猜你喜歡
Android—高級控件(一)自動完成文本框,下拉列表
一、自動完成文本框 自動完成文本框(AutoCompleteTextView)從EditText派生而出,實際上它也是一個文本編輯框,但它比普通編輯框多了一個功能;當用戶輸入一定字符之后,自動完成文本框會顯示一個下拉菜單,供用戶從中選擇,當用戶選擇某個才菜單項之后,AutoCompleteTextVie...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...