2011-01-12 11 views
0

私はAutoCompleteTextViewを想定したように動作するArrayAdapterで使用しています。AutoCompleteTextView、ArrayAdapter、notifyDataSetChanged()

問題は、オートコンプリート値で配列を変更する必要があることです。 notifyDataSetChanged()を呼び出すことは役に立ちません。変更は表示されません。

あなたはこの問題を回避するために何かを知っていますか?

答えて

2

質問に詳細を追加する必要がありますが、あなたの推測に基づいて、実装に問題があると思います。 notifyDataSetChanged()は、ビューにデータのリロードを通知します。 ArrayAdapterのデータ設定メソッドが変更されていないデータエンティティを参照する場合、notifyDataSetChanged()は効果を持ちません。

ArrayAdapterを拡張するカスタムアダプタの実装には、通常、アダプタのデータソースであり、必要なオートコンプリート値を含む内部データ構造があります。

+0

よく...私はこの1年前に尋ねました。私はこのプロジェクトでどのプロジェクトを使用したのかは分かりませんが、あなたの答えに感謝します。少なくとも私はそれを大げさにしました。 – mseo

+0

ハハ...ええ、私は日付に気づいたが、この質問は検索の早い段階で起きたと思ったので、回答があれば他の人に役立つかもしれないと思った。乾杯。 –

0

ArrayListを変更せず、notifyDataSetChanged()を呼び出してもArrayAdaptersには影響しません(実装は壊れているようです)。

使用clear()add()insert()、代わりにあなたのArrayList上でこれらのメソッドのあなたのArrayAdapterに直接remove()