最近在做个项目,有个需求涉及到一个功能,大概就是过滤掉listview的某个item,百度了一下,发现没啥好的解决方法,于是还是google一下,果然搞出了答案,记录一下,方便他人~
List<PatientCase> mList = userListJson.patientCaseItems;
if (isRefresh) {
if (adaCase == null) {
adaCase = new AdaPatientReceiveCase(getActivity(), mList);
mListViewContent.setAdapter(adaCase);
} else {
adaCase.clear();
adaCase.AddAll(mList);
}
} else {
adaCase.AddAll(mList);
}
if (mList.size() < 10) {
mPullFreshDataView.setLoadMoreEnable(false);
}
// 删除符合要求
if (F.ROLE == Constant.ROLE_EXPERT) {
for (int i = 0; i < mList.size(); i++) {
if (mList.get(i).status == 4) {
Log.d("remove ", "remove index is " + i);
adaCase.remove(mList.get(i));
adaCase.notifyDataSetChanged();
}
}
}
代码其实很简单,只需要adapter中符合要求的item给remove掉,然后在刷新一下数据就可以了。