【发布时间】:2018-02-21 19:21:07
【问题描述】:
大家好,我有一个自定义列表适配器和 edittext 作为过滤器,当我输入任何内容时,列表消失并且没有任何内容被过滤
这里是适配器类中的过滤方法
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
DataList.clear();
if (charText.length() == 0) {
DataList.addAll(arraylist);
} else {
for (Electors wp : arraylist) {
if (wp.getName().toLowerCase(Locale.getDefault())
.contains(charText)) {
DataList.add(wp);
}
}
}
notifyDataSetChanged();
}
这是我在 mainactivity 中调用它的地方
name.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable theWatchedText) {
String text = name.getText().toString().toLowerCase(Locale.getDefault());
Vote.this.adapter.filter(text);
}
});
对此的任何建议将不胜感激
谢谢
【问题讨论】:
-
为什么不使用 API 提供的“theWatchedText”变量?
-
将您的投票课程代码放在这里以获得更好的帮助
-
可能你也有这样的问题:stackoverflow.com/questions/47343902/…看看我的评论,希望对你有帮助!