我正在尝试ListView
使用搜索功能。
但是我面临的问题是,虽然我在使用 filter( CharSequence
) 后得到了过滤后的列表,但列表上对象的位置仍然是过滤器之前的位置。因此,当我在搜索后单击该项目时,它会以较早的项目响应,即,列表没有被刷新。
我正在使用这段代码:
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
((SimpleAdapter) PlayListActivity.this.adapter).getFilter().filter(s);
}
});
我应该怎么做才能使它按我想要的方式工作,即,当我输入输入文本时......它搜索并刷新列表,所以当我尝试单击一个项目时,它只响应该项目而不是前一个项目。