おそらく@Alonは、の代わりにArrayAdapter
をサブクラス化することを意味しました。 getFilter()
メソッドでは、フィルタリングをまったく実行しないカスタムフィルタを返す必要があります(そのperformFiltering()
)。おそらくパフォーマンスが問題になる可能性があります。テキストエディットから派生し、独自の補完ポップアップを実装するのが最善の方法です。しかし、これは今まで私にとってはあまりにも多くの面倒です。最後に、私は次のようなことをしてくれました。フィードバックは高く評価されます。
public class KArrayAdapter<T>
extends ArrayAdapter<T>
{
private Filter filter = new KNoFilter();
public List<T> items;
@Override
public Filter getFilter() {
return filter;
}
public KArrayAdapter(Context context, int textViewResourceId,
List<T> objects) {
super(context, textViewResourceId, objects);
Log.v("Krzys", "Adapter created " + filter);
items = objects;
}
private class KNoFilter extends Filter {
@Override
protected FilterResults performFiltering(CharSequence arg0) {
FilterResults result = new FilterResults();
result.values = items;
result.count = items.size();
return result;
}
@Override
protected void publishResults(CharSequence arg0, FilterResults arg1) {
notifyDataSetChanged();
}
}
}
希望します。
こんにちは、ありがとうございました。あなたが関連するコードを投稿できるなら、あなたに感謝します。事前にありがとう –
いくつかのコードを追加したり、ソリューションを記述してください。 私は完全にこれに固執しています。 –
@Rajivadadavはすぐになります –