編輯:關於android開發
自動匹配輸入的內容(文章最後有一個問題有興趣的可以解答一下,謝謝大神了)
這個主要是兩個控件MultiAutoCompleteTextView和AutoCompleteTextView
這兩個控件和TextView的主要區別就是可以自動匹配用戶輸入的內容,就像百度,在百度的搜索框中輸入信息時,會提示你一些信息
這兩個控件的屬性主要比TextView多了一個屬性 android:completionThreshold="2",這個屬性主要是來說明用戶輸入多少字符時開始匹配(我這裡是兩個字符);
(1)先講一下AutoCompleteTextView的實現
布局文件中有關的代碼如下(主要的屬性大家都認識,綠色的為特有的屬性)
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/textView1"
android:hint="請輸入內容"
android:textColor="#000000"
android:completionThreshold="2"
>
<requestFocus />
</AutoCompleteTextView>
在源代碼文件中的代碼為
private AutoCompleteTextView auTextView;
String []res={"ab1","ab2","ab3","ab4","ab5"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auTextView=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
//定義適配器並且添加適配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
auTextView.setAdapter(adapter);
}
效果圖如下:
(2)MultiAutoCompleteTextView的實現
它和AutoCompleteTextView的主要區別就在於它可以多次匹配,只要定義了分隔符,而AutoCompleteTextView只可以進行一次匹配
它在布局文件中的代碼為
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/autoCompleteTextView1"
android:layout_marginTop="24dp"
android:textColor="#000000"
android:completionThreshold="2"
android:hint="請輸入內容" />
它在代碼文件中的代碼為:
private MultiAutoCompleteTextView muTextView;
String []res={"ab1","ab2","ab3","ab4","ab5"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定義適配器並且添加適配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
muTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
muTextView.setAdapter(adapter);
//設置逗號分隔符
muTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
效果圖如下:
那個設置分隔符的時候我不太懂我查了一下主要是用到了new MultiAutoCompleteTextView.CommaTokenizer(),不知道為什麼這個就是逗號分隔符,希望大神可以解答,謝謝
有什麼錯誤的地方請指出,謝謝
android插件開發-就是你了!啟動吧!插件的activity(二) 這篇博客是上篇的延續,在閱讀之前先閱讀第一部分:第一部分 我們在啟動插件的activity時
HandlerThread 創建一個異步的後台線程,handlerthread異步使用HandlerThread幾大優點: 1、制作一個後台異步線程,需要的時候就可以丟一
SwipeMenuListView框架完全解析,swipemenulistviewSwipeMenuListView(滑動菜單) A swipe menu for Lis
Android系統中解析XML通常使用三種方法,分別是SAX、pull和DOM
Android開發3:Intent、Bundle的使用和ListView