所以我有这个edditbox,它在data.txt中搜索停止名称,并使用我的自定义适配器将其显示在listview中,因此,每次输入一个单词时,它都会过滤出结果。
我的问题是,当我再次输入一个单词时,它会有点滞后,因为我认为是过滤所有结果。
我的问题是如何使它不滞后,我知道我有办法在后台过滤数据吗?
PS。我的data.txt是一个非常大的数据集合,可以说100mb的停止名称数据
searchEditText2.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
}
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
customAdapter.getFilter().filter(cs);
}
});
最佳答案
我建议您先显示某些特定的单词,然后再滚动显示下一个搜索结果,甚至在加载更多按钮时单击以显示更多记录。一次显示如此巨大的数据可能不正确。考虑到不同的android设备以及处理器速度,某些设备可能根本不响应。