【Android】Spinner(スピナー)で選択された値を取得する方法を徹底解説
AndroidでSpinnerの値を取得するには?
このチュートリアルでは、AndroidアプリでSpinner(スピナー/ドロップダウンリスト)からユーザーが選択した値を取得し、Toastで表示する方法をサンプルコード付きで解説します。Spinnerは、複数の選択肢の中から1つだけを選ばせたい場合に便利なUIコンポーネントです。
ステップ1:新規プロジェクトを作成する
Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。
ステップ2:レイアウトファイル(activity_main.xml)にSpinnerを配置する
res/layout/activity_main.xml に以下のコードを追加します。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="16sp" tools:context=".MainActivity"> <Spinner android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> </Spinner> </RelativeLayout>
ステップ3:strings.xmlに選択肢の配列を定義する
res/values/strings.xml を開き、以下のコードを追加します。ここでは、Spinnerに表示する鳥の名前リストを string-array として定義しています。
<resources> <string name="app_name">Sample</string> <string-array name="birds"> <item>crane</item> <item>Cuckoo</item> <item>Pigeon</item> <item>Pigeon</item> <item>Eagle</item> <item>Owl</item> <item>Vulture</item> <item>WoodPecker</item> </string-array> </resources>
ステップ4:MainActivity.javaでSpinnerを実装する
src/MainActivity.java に以下のコードを追加します。ArrayAdapter.createFromResource() でリソースからアダプターを生成し、setOnItemSelectedListener() でリスナーを登録することで、onItemSelected() コールバック内で選択された項目を取得できるようになります。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
Spinner spinner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinner = findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.birds,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String text = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), text, Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) { }
}
補足: android.support.v7.app.AppCompatActivity は現在非推奨(Deprecated)となっています。新しいプロジェクトでは androidx.appcompat.app.AppCompatActivity を使用してください。
ステップ5:AndroidManifest.xmlを確認する
androidManifest.xml に以下のコードが正しく記述されていることを確認しましょう。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
アプリを実行してみよう
それでは、実際にアプリケーションを実行してみましょう。ここでは、実機のAndroidスマートフォンをパソコンに接続していることを前提としています。Android Studioでプロジェクト内のアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックしてください。実行デバイスとして自分のスマートフォンを選択すると、端末に以下のようなデフォルト画面が表示されます。

-
【Android開発】EditTextフィールドの値を取得する方法をサンプルコード付きで解説
この記事では、Androidアプリ開発においてEditText(テキスト入力フィールド)に入力された値を取得して画面に表示する方法を、実際のサンプルコードを使いながらステップごとにわかりやすく解説します。 作成するアプリの概要 今回作成するのは、EditTextに入力した文字列をボタンをタップしたタイミングで取得し、TextViewに表示するシンプルなアプリです。入力値の取得には getText().toString() メソッドを使用します。手順は以下の4ステップです。 Android Studioで新規プロジェクトを作成する レイアウトXML(activity_main.xml)を作成す
-
【Android】Spinnerの選択項目を位置ではなく「値」で設定する方法
本記事では、Androidアプリ開発においてSpinner(スピナー)の選択項目を、リスト上の位置(インデックス)ではなく値を基準に設定する方法を解説します。ボタンをタップするとスピナーの選択項目が自動的に切り替わる、シンプルなサンプルアプリを題材に、手順を追って説明していきます。 ステップ1:新規プロジェクトの作成 Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な情報をすべて入力して、新しいプロジェクトを作成してください。 ステップ2:レイアウトファイル(activity_main.xml)の編集 res/layout/activ