ドロップダウンメニューを作る

投稿者: | 2014年3月28日

ワンポイントレッスン、らしいのでメモ。
Androidでドロップダウンメニューを作る場合は「spinner」を使う。

PHPフレームワークを選ぶと簡単な解説が出るサンプルを作った。
解説文はwikipediaの各フレームワークの冒頭文から転載。

レイアウト

見た目はこんな感じで。
pulldown

xmlはこんな感じ。

Spinnerがドロップダウンメニューとして機能する。

コード

setDropDownViewResource

ArrayAdapterクラスのメソッド。
Spinnerがドロップダウン表示する際の画面レイアウトを定義する。
引数はドロップダウンビューを定義したレイアウトリソース(int型)。
今回はandroid.R.layoutで予め定義されている、simple_spinner_dropdown_itemを表示形式として指定している。

getSelectedItemId()

AdapterViewクラスのメソッド。
選んだアイテムの値を返す。long型で。
なので今回はswitch文に使う都合でintにキャストしている。

setOnItemSelectedListener

AdapterViewクラスのメソッド。
このAdapterViewの項目が選択されているときに呼び出されるコールバックを登録する。
引数は実行されたコールバック。

OnItemSelectedListener()

Viewの項目が選択されている時に呼び出されるコールバック用のインターフェイス。
抽象メソッドとして選んだ時のonItemSelectedと選ばなかった時のonNothingSelectedが定義されている。ナッシングの方は正直使い道分からないって先生は言ってた。正直自分でもそうだし隣の人も正直呼ばれるタイミング分かんないってなってた。でも抽象メソッドとして定義されているので実装しないとキレられる。

処理の流れ

  • ビューを作る
  • spinner用にString型のArrayAdapterを用意
  • adapterに選択肢となる文字列をadd
  • spinnerにadapterをセット
  • ボタンを押した時にドロップダウンで選んだものの解説が表示される

説明文と選択したものが対応するようにswitch文を用意。
加えて意味は無いが練習用にドロップダウンで選ぶだけで選んだものがToast表示されるようにした。

真面目に訓練記事書くの大変やね・・・
久しぶりに書くとひぃひぃするワー


コメント

Loading Facebook Comments ...

コメントを残す

No Trackbacks.