私は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);
}
});
入力テキストを入力すると、リストが検索および更新されるため、アイテムをクリックしようとすると、前のアイテムではなくそのアイテムのみが応答します。