gpt4 book ai didi

android - 开始删除文本时如何启用我的搜索方法

转载 作者:行者123 更新时间:2023-11-29 00:58:07 25 4
gpt4 key购买 nike

我正在使用我的“搜索”方法根据 EditText 输入更改过滤 recyclerView 中的数据,它工作正常但是当文本被(部分)删除时,没有任何内容被过滤。

我的搜索方式:

//a method to filter the question list search
private void searching(){
search.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int il, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

for (int iterator = 0; iterator < filterForSearch.size(); iterator++) {
//if what i searched have a part of question title - do not filter else filter
if (!filterForSearch.get(iterator).get("title").toString().contains(search.getText().toString()) ){
filterForSearch.remove(iterator);
}
}
//set the adapter with the data that the user searched
setQuestionsAdapter(filterForSearch);
filterForSearch = cloudData;
}
@Override
public void afterTextChanged(Editable editable) {
// when the user delete his search - show him the questions again
if(search.getText().toString().equals("")){
pullData();
}
}
});
}

最佳答案

我似乎只保存了过滤后的结果,因此,每当您删除文本时,过滤的文本就会减少。如果您从数据库中过滤以获得所有结果,我建议您使用过滤器搜索每个文本更改,这样您将从所有数据库中过滤(您不需要将所有结果都放入设备中首先是错误的地方),其次,当您更改文本(删除时也是如此)时,您将得到结果。

关于android - 开始删除文本时如何启用我的搜索方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53141298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com