实现效果:在输入框输入理赔单号,对ArrayList中的javaBean进行删选,并将删选出来的数据显示在RecycleView中。
首先,实现EditText的动态监听。用于获得模糊查询的字段。
当前Activity实现implements TextWatcher,并重写需要的方法。获得模糊搜索字段,遍历集合,模糊搜索包含改字段的结合
获得模糊搜索结果集合之后,设置给需要显示的RecycleView
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
// EditText输入完毕后
@Override
public void afterTextChanged(Editable s) {
// 输入框输入字段不为空
if (!TextUtils.isEmpty(s)) {
String text = s.toString().trim();
if (!TextUtils.isEmpty(text)) {
if (mListSearch != null && mListSearch.size() > 0) {
// mListSearch 模糊搜索结果集合
mListSearch.clear();
}
// mList 需要模糊搜索的集合
for (ClaimBean.ClaimListBean bean : mList) {
// 判断javabean中是否包含搜索字段
if (bean.getClaimNo().contains(text)) {
// 若包含,添加
mListSearch.add(bean);
}
}
// 给RecycleView设置搜索结果
setDate(mListSearch);
}
} else {
// 输入框输入字段为空
s.clear();
mListSearch.clear();
setDate(mList);
}
}
}