ドロップダウンリストの作成と選択した値の取得方法【Androidアプリ開発】

ドロップダウンリストの作成と選択した値の取得方法を説明しています。これらを実装するには、SpinnerコンポーネントとArrayAdapterを使用します。

実装例

レイアウト

activity_main.xml

メインアクティビティのレイアウトです。

中央にSpinner、その下に更新用のButtonと選択項目を表示するTextViewを配置しています。

メインレイアウト

実装方法

動的な実装

MainActivity.kt

処理の流れは、”ArrayAdapterにレイアウトをセット→選択項目を追加→SpinnerコンポーネントにAdapterをセット”の流れです。
※リストのレイアウトは、標準で用意されている”simple_spinner_〇〇”を使用しています。

リストで選択されている値を取得するには、selectedItemを利用します。

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val adapter: ArrayAdapter<String> = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    adapter.add("項目1")
    adapter.add("項目2")
    adapter.add("項目3")

    val spinner: Spinner = findViewById(R.id.spinner)
    spinner.adapter = adapter

    val button: Button = findViewById(R.id.button)
    button.setOnClickListener {
        val textView: TextView = findViewById(R.id.textView)
        textView.text = spinner.selectedItem.toString()
    }
}

静的な実装

固定値で良ければstring-arrayで設定することも可能です。

arrays.xml

string-arrayで定義します。

<resources>
<string-array name="items">
<item>項目1</item>
<item>項目2</item>
<item>項目3</item>
</string-array>
</resources>
MainActivity.kt

定義したstring-arrayをArrayAdapter.createFromResourceの引数として指定すれば、Adapterへのセットは完了です。

val adapter: ArrayAdapter<CharSequence> = ArrayAdapter.createFromResource(this,
R.array.items, android.R.layout.simple_spinner_item)

実行結果

アプリ起動時
アプリ起動時
ボタン押した時

下の方にあるテキストの表示が、選択されている値に変わりました。

ボタン押したとき
別の項目を選択して、ボタン押した時

リストの選択を変更してからボタンを押すと、同様に選択されている値に変わりました。

別の項目を選択したとき

まとめ

ドロップダウンリストの作成と選択した値の取得方法を説明しました。

ドロップダウンリストの作成にはSpinnerコンポーネントを利用します。また、リストの項目はArrayAdapterにセットして、Spinnerコンポーネントに設定すると反映できます。

リストで選択されている値は、selectedItemで取得できます。

Buttonをトリガーにして選択項目を画面に表示する方法を説明しましたが、リストの変更を検知することも可能です。↓こちらの記事で説明していますので、ご覧ください。

参考

スピナー|Android Developers

学習方法

Javaの基礎を学ぶ

Androidアプリ開発では、JavaやKotlinが用いられます。
いきなりAndroidアプリ開発を学習するのは難しいので、Javaの基礎から学習しておくと理解しやすくなります。

既に、Javaの学習経験・開発経験がある方は必要ありませんが、Java言語を使ったことがないという方は、Javaの基礎から学習することをオススメします。

また、Kotlinに関しては、Javaを簡略したような書き方となっています。Javaの基礎知識がないと学習が難しいですが、Javaの基礎知識があれば、ご自身で調べながら学習することも十分に可能です。

 

独学が難しいと思ったら…

プログラミングスクールを活用してみても良いでしょう。
通常のプログラミングスクールは、数十万円の費用が掛かる場合があり、中々手が出しづらいですが、サブスク型のプログラミングスクールも存在しています。
サブスク型と言っても、通常のプログラミングスクールと同じように、現役エンジニアによるサポートも付いています。
最も安い基本的なコースで、月額1万円ほどとなっており、他のプログラミングスクールよりも初期費用が安いため、気軽に始められます。

Androidアプリ開発を学ぶ

Javaの基礎知識があったとしても、Androidアプリ独特の仕組みがあるため、とっつきづらいです。

Javaでの開発経験があれば、問題を解決しながら学習することも可能です。しかし、(当サイト含め)ネットでの情報は断片的に解説されていることも多く、流れで理解するのは難しいかしれません。

ご自身で調べながら学習することが難しいと感じたら、市販の参考書を活用すると良いでしょう。参考書では、Androidアプリ開発というテーマに沿って、1冊内で解説していく流れとなっていますので、入門書として活用すると理解がしやすくなります。

Kotlin版

Java版

 

Androidアプリ開発
この記事を書いた人

エンジニアとして仕事をしています。
仕事や趣味を通して、開発やプログラミングについて学んだことを綴っていきます。
 ・実務経験は、WEBシステムのサーバーサイドコーディングがメイン
 ・アプリ開発は趣味程度

akihiro-takedaをフォローする
akihiro-takedaをフォローする
プログラミング・開発の備忘録
タイトルとURLをコピーしました