相信大家都熟悉自動識別提示吧,在我們的生活中隨處可見,今天就讓我為大家簡單介紹一下它是如何設計的。 所謂自動識別輸入即是根據用戶輸入的已有信息,為用戶提示可能的值,方便用戶完成輸入。在Android設備上這種功能分為:AutoCompleteTextView和MultiAutoCompleteTex ...
相信大家都熟悉自動識別提示吧,在我們的生活中隨處可見,今天就讓我為大家簡單介紹一下它是如何設計的。
所謂自動識別輸入即是根據用戶輸入的已有信息,為用戶提示可能的值,方便用戶完成輸入。在Android設備上這種功能分為:AutoCompleteTextView和MultiAutoCompleteTextView,前者為單個的自動識別,類似與搜索引擎的輸入框提示;後者為多個值自動識別,類似與發郵件時的郵箱輸入框。那它們倆到底如何使用呢?下麵就讓我們一起學習一下吧。
首先是佈局文件:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Activityfive" > <AutoCompleteTextView android:id="@+id/acTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入姓名:" android:textColor="#000" android:maxLength="10" /> <MultiAutoCompleteTextView android:id="@+id/macTextView" android:layout_below="@id/acTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="請輸入城市:" android:textColor="#000" android:maxLength="20" /> </RelativeLayout>
註:android:hint屬性為提示文字內容,當如何輸入框獲得焦點後自動消失
下麵是我們的Action:
import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class Activityfive extends Activity{ private AutoCompleteTextView acTextView; private MultiAutoCompleteTextView macTextView; private String [] arr = {"abc","abx","abo","bdc","bdf"}; private String [] brr = {"ab北京","ab南京","ab東京","bb莫斯科","bb英國","bb美國"}; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_five); acTextView = (AutoCompleteTextView) findViewById(R.id.acTextView); macTextView = (MultiAutoCompleteTextView) findViewById(R.id.macTextView); ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, arr); acTextView.setAdapter(arrAdapt); ArrayAdapter<String> brrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, brr); macTextView.setAdapter(brrAdapt); macTextView.setThreshold(1);//設置輸入多少個字元開始自動匹配 macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//設置分隔符 } }
代碼很簡單,沒有什麼深奧的地方,相信大家一看就可以理解,對於一些不好理解的地方,我也已經添加了註釋,希望對你有用。