Android中AutoCompleteTextView自動提示
我們使用控件AutoCompleteTextView 自動提示時,有時需要設(shè)置BaseAdapter,設(shè)置BaseAdapter時,需要實現(xiàn)Filterable,手動進行篩選。
常用屬性
布局只設(shè)置了至少輸入一個字符顯示提示
<AutoCompleteTextView android:id="@+id/at" android:completionThreshold="1" android:layout_width="match_parent" android:layout_height="wrap_content" />
private List<String> allData = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); allData.add("aa"); allData.add("bb"); allData.add("cc"); allData.add("dd"); allData.add("abc"); allData.add("bcd"); AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.at); MyAdapter adapter = new MyAdapter(); textView.setAdapter(adapter); }
adapter適配器代碼
class MyAdapter extends BaseAdapter implements Filterable { DataFilter filter; ArrayList<String> data; @Override public int getCount() { if (data != null && data.size() > 0) { return data.size(); } return 0; } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(int position, View view, ViewGroup viewGroup) { TextView textView = new TextView(MainActivity.this); textView.setText(data.get(position)); return textView; } @Override public Filter getFilter() { if (filter == null) { filter = new DataFilter(); } return filter; } private class DataFilter extends Filter { @Override protected FilterResults performFiltering(CharSequence prefix) { //查詢結(jié)果保存到FilterResults對象里 FilterResults results = new FilterResults(); List<String> queryData = new ArrayList<>(); for (int i = 0; i < allData.size(); i++) { if (allData.get(i).contains(prefix.toString())) { queryData.add(allData.get(i)); } } results.values = queryData; results.count = queryData.size(); return results; } /** * 更新UI */ @Override protected void publishResults(CharSequence constraint, FilterResults results) { List<String> queryData = (List<String>) results.values; if (data == null) { data = new ArrayList<>(); } if (data.size() > 0) { data.clear(); } if (queryData != null && queryData.size() > 0) for (String string : queryData) { data.add(string); notifyDataSetChanged(); } } } }
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android用戶輸入自動提示控件AutoCompleteTextView使用方法
- Android自動獲取輸入短信驗證碼庫AutoVerifyCode詳解
- Android AutoWrapTextView中英文排版問題的解決方法
- Android中使用 AutoCompleteTextView 實現(xiàn)手機號格式化附帶清空歷史的操作
- Android自動編輯文本框(AutoCompleteTextView)使用方法詳解
- Android仿新浪微博oauth2.0授權(quán)界面實現(xiàn)代碼(2)
- android中AutoCompleteTextView的簡單用法(實現(xiàn)搜索歷史)
- Android仿百度谷歌搜索自動提示框AutoCompleteTextView簡單應用示例
- 關(guān)于Android HTML5 audio autoplay無效問題的解決方案
- Android AutoCompleteTextView自動提示文本框?qū)嵗a
- Android App開發(fā)的自動化測試框架UI Automator使用教程
- Android中AutoCompleteTextView與TextWatcher結(jié)合小實例
- Android AutoValue使用和擴展庫
相關(guān)文章
Android studio實現(xiàn)簡易的計算器功能
這篇文章主要為大家詳細介紹了Android studio實現(xiàn)簡易的計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05Android M(6.x)使用OkHttp包解析和發(fā)送JSON請求的教程
Android 6.0采用的SPDY支持HTTP上GZIP壓縮的傳輸,這使得OkHttp包的功能能夠進一步被利用,本文我們來總結(jié)一下Android M(6.0)使用OkHttp包解析和發(fā)送JSON請求的教程2016-07-07Android控件之AnalogClock與DigitalClock用法實例分析
這篇文章主要介紹了Android控件之AnalogClock與DigitalClock用法,以實例形式分析了Android時鐘控件AnalogClock和DigitalClock用于顯示時間的具體使用技巧,需要的朋友可以參考下2015-09-09android文件存儲和SharedPreferences存儲的項目實例
本文主要介紹了android文件存儲和SharedPreferences存儲的項目實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05Android App中實現(xiàn)相冊瀑布流展示的實例分享
這篇文章主要介紹了Android App中實現(xiàn)相冊瀑布流展示的實例分享,例子中利用到了緩存LruCache類的相關(guān)算法來解決大量加載問題,需要的朋友可以參考下2016-04-04Android開發(fā)之Adobe flash操作工具類
這篇文章主要介紹了Android開發(fā)之Adobe flash操作工具類,可實現(xiàn)flash的安裝及判斷flash是否安裝等功能,需要的朋友可以參考下2017-12-12Android圖片翻轉(zhuǎn)動畫簡易實現(xiàn)代碼
Android圖片翻轉(zhuǎn)動畫效果如何實現(xiàn),本文將給你一個驚喜,實現(xiàn)代碼已經(jīng)列出,需要的朋友可以參考下2012-11-11Android 中 android.view.WindowLeaked的解決辦法
這篇文章主要介紹了Android 中 android.view.WindowLeaked的解決辦法的相關(guān)資料,需要的朋友可以參考下2017-05-05Android 自定義加載動畫Dialog彈窗效果的示例代碼
這篇文章主要介紹了Android 自定義加載動畫Dialog彈窗效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法示例
這篇文章主要介紹了Android繼承ViewGroup實現(xiàn)Scroll滑動效果的方法,結(jié)合實例形式分析了Android滑動效果的原理及擴展ViewGroup實現(xiàn)滑動功能的相關(guān)操作技巧,需要的朋友可以參考下2017-08-08