【发布时间】:2019-05-24 20:28:05
【问题描述】:
在一个 android 应用程序上工作,它有一个带有 autocompletetextview 和自定义适配器的表单,我们有大约 1k 个条目的数组列表。但是对于 1K 数据,它不起作用。大约有 400 个条目,它正在工作,但过滤速度很慢。 如何处理这种大数据集?
下面是过滤的代码sn-p:
@Override
protected FilterResults performFiltering(CharSequence constraint) {
if (constraint != null) {
suggestions.clear();
for (ToMeet toMeet : tempItems) {
if (toMeet.getNm().toLowerCase().contains(constraint.toString().toLowerCase()) ||
(toMeet.getAptNo() != null && toMeet.getAptNo().toLowerCase().toLowerCase().
contains(constraint.toString().toLowerCase()))) {
suggestions.add(toMeet);
}
}
FilterResults filterResults = new FilterResults();
filterResults.values = suggestions;
filterResults.count = suggestions.size();
return filterResults;
} else {
return new FilterResults();
}
}
@Override
protected void publishResults(CharSequence constraint, FilterResults results) {
if (results != null && results.count > 0) {
ArrayList<ToMeet> filteredList = (ArrayList<ToMeet>) ((ArrayList<ToMeet>) results.values).clone();
clear();
for (ToMeet toMeet : filteredList) {
add(toMeet);
}
notifyDataSetChanged();
}
}
};
【问题讨论】:
标签: android performance large-data autocompletetextview