読者です 読者をやめる 読者になる 読者になる

tomokiの備忘録

ITに関する簡単な備忘録です

【Android】Spinnerの項目削除について

 今回の内容

Androidの標準ウィジェットであるSpinner(ComboBoxの方がしっくりくる方もいるかもしれません)に項目を追加したあと削除する方法です。

Spinnerを複数個配置し1つのSpinnerの内容によってもう1つのSpinnerの内容を切り替える、といったときに活用することができると思います。

 

 コード

普通にコードを書くとこうなります。

Spinner

 

しかし、この状態では選択するたびに項目が追加されていってしまいます。

f:id:tomokiit:20161105092152p:plain f:id:tomokiit:20161105092148p:plain f:id:tomokiit:20161105092143p:plain f:id:tomokiit:20161105092138p:plain

 

解決策

この問題を解決するには一度Spinnerの内容をクリアし、次の内容を追加してやるひつようがあります。

しかしSpinnerの内容をクリアすることはできないのでAdapterの内容をクリアすることで項目を削除することができます。

 

修正後のコード

 

xmlは先ほどと同じです。

Spinner_Change

 変更点

変更点は40行目に「adapter2.clear();」を追加したのみです。

この1行を追加することで次の項目の追加前に一旦Adapterにはいっている項目をクリアしています。

 

結果

f:id:tomokiit:20161105093519p:plain f:id:tomokiit:20161105093524p:plain f:id:tomokiit:20161105093529p:plain

このように選択された際、選択した内容だけが表示されるようになりました。