Spinnerって、簡単に選択肢を設定できないの?
AndroidアプリのSpinnerというView(ビュー)があります。
Spinnerというのは、VB等のコントロールで言うところのコンボボックスにあたるものです。
プルダウン形式のメニューですね。
選択肢が静的で、あらかじめどんな選択肢を設定するのか決まっていて、固定でいい場合があるかと思います。
色んなサイトを見ましたが、どのサイトも、結構ややこしいコードを説明してるように見えました。
あらかじめ、選択肢がわかってるのに、なんでこんなややこしいの??
って感じました。
という事で、Eclipseを色々触っていたら、めちゃくちゃ簡単に設定する方法を見つけましたので、紹介します。
選択肢が静的、固定でいいとあらかじめわかっているなら、コードを1行も書かなくて済みます。
今回紹介する方法は、以下のAndroidの基本的な知識があるという前提で話を進めます。
・Androidアプリ内で使用する文字列は、基本的にはres/valuesのstrings.xmlへ追加して使う、という事
・レイアウトにSpinnerを配置する方法
以下がSpinnerの選択肢の設定手順です。Eclipseで簡単に出来ます。
1.res/values/strings.xmlをAndroid Resource Editorで開く。(通常は関連付けられているので、ダブルクリックでOKです。)
以下の画面が表示されます。
2.Addボタン(上画像の赤枠部分)を押す。以下の画面が表示されます。
3.「String Array」という要素を追加する。追加すると、以下の赤枠部分が追加されたと思います。
緑で囲んでいるNameに、適当な名前を付けます。
4.追加したString Arrayの子要素に「Item」を追加します。
下図のように、追加したString Arrayを右クリック⇒Addを選らんでください。
そうすると、以下の画面が表示されます。
Itemを選択してOKを押します。すると下図のようにItemが追加されます。
5.追加したItemに、設定したい選択肢の文字列を設定する。(上図の赤枠部分)
6.設定したい選択肢の数だけ、4、5を繰り返す。
ここまでで選択肢用の文字列の定義は完了です。
スポンサーリンク
次にSpinnerへの設定です。
1.Android Layout Editorで、選択肢を設定したいSpinnerがあるレイアウトのxmlを開く。
2.Spinnerを選択する。
3.propertiesウィンドウで、「Entries」を選択する。
下図のような感じです。
4.Value欄の右側にボタン(上記画像の赤枠部分)が出てくるので、押す。
5.「Array」を展開して、最初の手順で作ったString ArrayのIDが出てるはずなので、そいつを選択する。
で、終わりです。
コードは一切いじらなくてOK。
実際動かすと、以下のような感じになります。
このレイアウトで問題なければ、OKです。
レイアウトをカスタマイズしたい場合は、、、頑張ってください。
ちなみに、上の手順で設定したXMLの中身は以下のようになってます。
選択肢用の文字列の配列
<string-array name=”sentakushi”>
<item>選択肢1</item>
<item>選択肢2</item>
<item>選択肢3</item>
</string-array>
選択肢を設定済みのSpinner
<Spinner android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:entries=”@array/sentakushi” android:id=”@+id/Spinner01″></Spinner>