Androidアプリケーション開発でSpinnerを使用する方法

投稿日:

(12月20日、2020)

スピナーは、次のことを可能にするAndroidウィジェットです。ユーザーはオプションのリストから選択を行います。スピナーはラジオグループのように動作しますが、オプションがたくさんある場合は、すべてのラジオボタンが画面上のスペースを占めるため、ラジオグループは不適切な選択になります。スピナーは、接続されているすべての使用可能なオプションを表示する単なるドロップダウンビューであるため、この問題を解決します。デフォルトの状態では、スピナーは現在選択されている値を表示します。

このチュートリアルでは、すべての曜日を表示するスピナーを作成します。      のすべての日を知っているので、 string.xmlファイルで宣言する文字列配列を使用してボイラープレートコード(不要なコード)を減らします。

まず、string.xmlファイルですべての曜日を宣言します。 。これを行うには、Res –> Values –> String.xmlファイルに移動します。 string-arrayというタグを追加し、「days」という名前を付けて、後でコードでアクセスできるようにします。次に、値ごとにitemsという2番目のネストされたタグを開きます(曜日)。

layout.xmlファイルに移動し、スピナーを挿入します。スペースを節約するためにレイアウトの幅と高さをwrap\_contentに設定し、スピナーを目的の位置に固定するための制約も設定します。次に、属性「android:entries」を使用して、スピナーにstring.xmlファイルの値へのアクセスを許可します。

次は大きな問題です。現在選択されているアイテムが変更されるたびに、どのように検出できるでしょうか。それは簡単です。 mainActivity.ktファイルで、スピナーのIDを呼び出し、onItemSelectedListenerを呼び出します。次に、それを匿名クラス「AdapterView.onItemSelectedListener」に割り当てます。この後、AdapterView.onItemSelectedListenerで定義された関数を実装していないため、オブジェクトに赤の下線が引かれていることがわかります。これは、CTRL + Iを押し、Shiftキーを押しながら、両方のオプションを選択するだけで実行できます。次に、onItemSelected関数でトーストを使用して、アイテムが選択されたことを示します。

文字列配列にエントリを定義せずに、実行時に値しかわからない場合は、エントリをスピナーに設定することもできます。ここでは、最初にスピナーのリストを変数で宣言します。次に、スピナー用のアダプターを作成します。アレイアダプタでは、R.layout.support\_simple\_spinner\_dropdown\_itemというデフォルトのスピナーレイアウトファイルを利用します。次に、ArrayAdapterのコンストラクターでcustomList変数を渡し、アダプター変数をスピナーウィジェットに割り当てます。

コーディングを楽しんでください、みんな !

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です