所以我有这个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设备以及处理器速度,某些设备可能根本不响应。

08-25 10:41
查看更多