android的autocompletetextview适配器 自定义
来源:互联网 发布:ios仿京东商城源码 编辑:程序博客网 时间:2024/06/05 11:55
上一篇 文章 讲的是 autocompletetextview 使用 arrayAdapter 适配器 添加 并刷新数据,
只能使用 系统提供的样式和 简单的数据类型(基本数据类型),如果 其他情况就需要 自定义adapter。
自定义 autocompletetextview 的适配器需要 实现 implementsFilterable筛选器。
适配器 的属性
private Context context; private ArrayList<Yao> list; private LayoutInflater inflater; // private ArrayFilter mFilter; private ArrayList<Yao> mList;
重写的 方法
@Override public Filter getFilter() { if (mFilter == null) { mFilter = new ArrayFilter(); } return mFilter; } private class ViewHolder { TextView tv; public ViewHolder(View v) { this.tv = (TextView) v.findViewById(R.id.yaochose_item_tv); } } //过滤器 private class ArrayFilter extends Filter { //匹配 列表 @Override protected FilterResults performFiltering(CharSequence prefix) { FilterResults results = new FilterResults(); if (mList == null) { mList = new ArrayList<Yao>(list); } if (prefix == null || prefix.length() == 0) { ArrayList<Yao> list = mList; results.values = list; results.count = list.size(); } else { String prefixString = prefix.toString().toLowerCase(); ArrayList<Yao> unfilteredValues = mList; int count = unfilteredValues.size(); ArrayList<Yao> newValues = new ArrayList<Yao>(count); for (int i = 0; i < count; i++) { Yao pc = unfilteredValues.get(i); if (pc != null) { //匹配值 if (pc.getPharmacyCNName() != null && pc.getPharmacyCNName().startsWith(prefixString)) { newValues.add(pc); } } } results.values = newValues; results.count = newValues.size(); } return results; } @Override protected void publishResults(CharSequence constraint, FilterResults results) { mList = (ArrayList<Yao>) results.values; if (results.count > 0) { notifyDataSetChanged(); } else { notifyDataSetInvalidated(); } } //展示 结果 @Override public CharSequence convertResultToString(Object resultValue) { Yao yao = (Yao) resultValue; return yao.getPharmacyCNName(); } }
0 0
- android的autocompletetextview适配器 自定义
- android开发 AutoCompleteTextView自定义适配器
- Android 开发 AutoCompleteTextView结合自定义的适配器,查询数据库
- AutoCompleteTextView结合自定义适配器
- AutoCompleteTextView自定义适配器
- android的autocompletetextview适配器 刷新问题
- android AutoCompleteTextView自定义的自动补全
- android AutoCompleteTextView 自定义BaseAdapter
- android AutoCompleteTextView 自定义BaseAdapter
- android AutoCompleteTextView 自定义BaseAdapter
- android AutoCompleteTextView自定义Adapter
- android AutoCompleteTextView 自定义BaseAdapter
- Android里面的自定义适配器
- Android开发适配器系列:AutoCompleteTextView和MultiAutoCompleteTextView
- Android UI之自定义AutoCompleteTextView
- android开发之自定义AutoCompleteTextView
- AutoCompleteTextView针对SimpleAdapter 源码改动的适配器
- 第一滴血~自定义仿android的AutoCompleteTextView
- Check $M2_HOME environment variable and mvn script match.【maven eclipse】
- ServletContext详解
- android第一节
- BOOST库介绍,安装
- MathType与Office公式编辑器的区别
- android的autocompletetextview适配器 自定义
- 第七讲作业,给定两个正整数,求出两数的正差值并输出
- 欢迎使用CSDN-markdown编辑器
- 图像处理与计算机视觉相关的书籍
- boost库是如何知道程序中所需要的lib的?
- 摆弄一天IDLE
- 咬文嚼字
- MySQL中修改表名,表属性名等的操作
- 大数据系列修炼-Scala课程83