ArrayAdapterに接続されたListViewがあります。ここで、Artistは私の単純なクラスであり、IDと名前しかありません。
次に、ListViewをフィルタリングしたいので、次のように呼び出します。
artistAdapter.getFilter().filter("bla", new Filter.FilterListener() {
public void onFilterComplete(int count) {
Log.d(Config.LOG_TAG, "filter complete! count: " + count); // returns 8
Log.d(Config.LOG_TAG, "adapter count: " + artistAdapter.getCount()); // return 1150
}
});
最初のデバッグステートメントは8のカウントを出力します。これは、「bla」で始まるリストアイテムの現在のカウントですが、アダプターはそれを取得しません。2番目のdebugステートメントは、カウント1150アイテムを出力します。これがリスト内のアイテムの完全な数です。
したがって、どういうわけか、フィルターは、基になるデータをフィルター処理したことをアダプターに通知しません。
私は今知りたいです:それがフィルターから更新を取得するようにアダプターに何かをコーディングする必要がありますか?カスタムフィルターを作成する必要がありますか?私は何をしなければなりませんか?