Android搜索功能实现
2015-11-19 11:38
288 查看
@Override
public android.widget.Filter getFilter() {
android.widget.Filter filter = new android.widget.Filter() {
protected void publishResults(CharSequence constraint,
FilterResults results) {
list = (List<CityHot>) results.values;
notifyDataSetChanged();
}
protected FilterResults performFiltering(CharSequence s) {
FilterResults results = new FilterResults();
List<CityHot> queryResultCities = new ArrayList<CityHot>();
if (TextUtils.isEmpty(s)) {
queryResultCities = alllist;
results.values = queryResultCities;
results.count = queryResultCities.size();
return results;
} else {
String str = s.toString();
if (alllist != null) {
for (CityHot contactBean : alllist) {
// 匹配全拼、首字母、中文城市名、区号、邮政编码
if (contactBean
.getCity() != null
&& contactBean.getCity().startsWith(
str) ) {
queryResultCities.add(contactBean);
}
}
}
}
results.values = queryResultCities;
results.count = queryResultCities.size();
return results;
}
};
return filter;
}
马伟 2015-11-18 15:21:56
private void doAfterTextChanged() {
if (enoughToFilter()) {
if (mFilter != null) {
mFilter.filter(querycontacet.getText().toString().trim());
}
} else {
if (mFilter != null) {
mFilter.filter(null);
}
}
}
马伟 2015-11-18 15:22:10
querycontacet.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
if (TextUtils.isEmpty(s)) {
searchib.setVisibility(View.GONE);
} else {
searchib.setVisibility(View.VISIBLE);
}
doAfterTextChanged();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
public android.widget.Filter getFilter() {
android.widget.Filter filter = new android.widget.Filter() {
protected void publishResults(CharSequence constraint,
FilterResults results) {
list = (List<CityHot>) results.values;
notifyDataSetChanged();
}
protected FilterResults performFiltering(CharSequence s) {
FilterResults results = new FilterResults();
List<CityHot> queryResultCities = new ArrayList<CityHot>();
if (TextUtils.isEmpty(s)) {
queryResultCities = alllist;
results.values = queryResultCities;
results.count = queryResultCities.size();
return results;
} else {
String str = s.toString();
if (alllist != null) {
for (CityHot contactBean : alllist) {
// 匹配全拼、首字母、中文城市名、区号、邮政编码
if (contactBean
.getCity() != null
&& contactBean.getCity().startsWith(
str) ) {
queryResultCities.add(contactBean);
}
}
}
}
results.values = queryResultCities;
results.count = queryResultCities.size();
return results;
}
};
return filter;
}
马伟 2015-11-18 15:21:56
private void doAfterTextChanged() {
if (enoughToFilter()) {
if (mFilter != null) {
mFilter.filter(querycontacet.getText().toString().trim());
}
} else {
if (mFilter != null) {
mFilter.filter(null);
}
}
}
马伟 2015-11-18 15:22:10
querycontacet.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
if (TextUtils.isEmpty(s)) {
searchib.setVisibility(View.GONE);
} else {
searchib.setVisibility(View.VISIBLE);
}
doAfterTextChanged();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
相关文章推荐
- Android 最火的快速开发框架XUtils
- 【android】开发中遇到的一些问题
- Android中Parcelable接口用法
- androidStudio导包
- Android APK的数字签名的作用和意义
- Android开发教程05:Android项目的目录结构
- Android中探讨自定义控件View
- Android开发教程02:Android四大组件简介
- android完全退出程序(android退出有多个activity的应用)
- 获取android手机信息
- Android中的Environment.getExternalStorageState使用
- Android基础入门教程——10.1 TelephonyManager(电话管理器)
- 在Android如何在保证满足面向对象的单一原则(SRP)和开闭原则(OCP)的条件下,完成线程池的使用
- Android Studio中genymotion安装方法
- Android 使用NDK编译二进制文件并运行
- android 可滑动、点击切换的导航栏
- android opencv 前置摄像头
- 聊天TextView中识别数字网址高亮并可点击
- Android基础入门教程——10.2 SmsManager(短信管理器)
- Android开发adb常用命令详解