我使用EditText
来过滤ListView
中的一些值。
到目前为止还可以,但是我有一个问题。首先我的代码:
final EditText mEditText = (EditText) this.findViewById(R.id.filterEditText);
mEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void afterTextChanged(Editable editable) {
String mFilter = editable.toString();
mListViewUpdater.setFilter(mFilter);
Log.d("Editable", editable.toString());
}
}
方法afterTextChanged()
被调用时,我输入的东西和过滤器被应用和工作。
但是如果我删除EditText
中的所有内容,ListView
将保持在最后一个过滤状态,直到我关闭键盘,然后它再次显示所有值。
是否有一种方法来显示所有的值,即使EditText是空的,但键盘没有崩溃?
致以最亲切的问候!
将所有代码放入onTextChanged()
方法中,而不是afterTextChanged()
方法。