2016-08-10 7 views
0

プログラム状態に基づいて使用可能な項目を変更したいスピナーがあります。私はArrayAdapter array; array = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerItem, Movements); array.NotifyDataSetChanged(); spnMove.Adapter = array;Spinnerの代わりに配列を追加すると、新しいエントリが追加されます

以下

ようarrayadapterクラスを使用しますが、私はこのコードを介して第2の時間を実行した場合、それはだけではなく、それを置き換えるの底に新しいlisrを追加します。

私はすでに新しい配列を追加する前に.AdapterリファレンスをNULLに設定しようとしましたが、全く違いはありません。

答えて

0

新しいデータセット用の新しいArrayAdapterを作成する代わりに、データを更新するだけです。最初にアダプタのclear()メソッドを呼び出して、古いデータをすべて削除します。新しいデータを追加するには、ArrayAdapterでadd()またはaddAll()を呼び出します。最後にnotifyDataSetChanged()を呼び出して、リストに通知されていることを確認します。

+0

この問題を解決するのに役立ちましたが、自分で見つけられなかったのは、私のアレイアダプタが派生したベースリストをクリアすることを忘れてしまったことです。 – Whistler

関連する問題