android之填寫文本自動補充AutoCompleteTextView和MultiAutoCompleteTextView

來源:互聯網
上載者:User

首先,我們得明確一點,雖然我們要用到的控制項名稱為***TextView,但是它卻是可編輯的,這裡可一定不要掉入陷阱哦。

      當我們填寫文字框的時候,是不是很希望下面可以彈出來一個下拉框提示我們呢?如果你的答案為yes,那麼你肯定很希望知道AutoCompleteTextView和MultiAutoCompleteTextView.兩者都位於android:widget包下。實際上,兩者功能很相似,MultiAutoCompleteTextView就是從AutoCompleteTextView繼承而來的。

兩者的區別很簡單:

       AutoCompleteTextView不支援連續提示

       MultiAutoCompleteTextView支援連續提示

何謂連續提示呢?

       例如我們打入了兩個字,這時候會出來個下拉框提示,我們點擊下拉框中的某項,然後文字框中存在內容了。這時候,我們再次繼續輸入東西的時候,AutoCompleteTextView則不會再次提示了,而MultiAutoCompleteTextView仍舊會提示,並且會將不同的內容之間以分隔字元隔開(具體使用什麼分隔字元,我們可以通過tokenizer進行設定)

  有圖為證:

 

 

第一個為AutoCompleteTextView,第二個為MultiAutoCompleteTextView。

 

實現的代碼如下:

activity代碼:

package cn.com.chenzheng_java;</p><p>import android.app.Activity;<br />import android.os.Bundle;<br />import android.widget.ArrayAdapter;<br />import android.widget.AutoCompleteTextView;<br />import android.widget.MultiAutoCompleteTextView;</p><p>public class AutoComplateTextActivity extends Activity {<br /> @Override<br /> public void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.autocomplatetextview);</p><p> AutoCompleteTextView t = (AutoCompleteTextView)findViewById(R.id.autoText);<br /> String[] auto={"aaa","bcde","cderef","aagdgfdgf","aaffff"};<br /> ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, auto) ;<br /> t.setAdapter(adapter);</p><p> MultiAutoCompleteTextView multiAutoCompleteTextView = (MultiAutoCompleteTextView)findViewById(R.id.autoText2);<br /> multiAutoCompleteTextView.setAdapter(adapter);<br /> multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());</p><p> }<br />}

布局檔案代碼:

<?xml version="1.0" encoding="utf-8"?><br /><LinearLayout<br /> xmlns:android="http://schemas.android.com/apk/res/android"<br /> android:layout_width="fill_parent"<br /> android:orientation="vertical"<br /> android:layout_height="fill_parent"><br /> <AutoCompleteTextView<br /> android:id="@+id/autoText"<br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="hello kitty!"<br /> ></AutoCompleteTextView><br /> <MultiAutoCompleteTextView<br /> android:id="@+id/autoText2"<br /> android:layout_width="fill_parent"<br /> android:layout_height="wrap_content"<br /> android:text="hello kitty!"<br /> ></MultiAutoCompleteTextView><br /></LinearLayout><br />

--------------------------------------------------------------------------------

其他介紹:

completionThreshold:它的值決定了你在AutoCompleteTextView至少輸入幾個字元,它才會具有自動提示的功能。另,預設最多提示20條。

 

 

  dropDownAnchor:它的值是一個View的ID,指定後,AutoCompleteTextView會在這個View下彈出自動提示。

  dropDownSelector:應該是設定自動提示的背景色之類的,沒有嘗試過,有待進一步考證。

  dropDownWidth:設定自動提示列表的寬度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.