[Android Studio] Spinnerをクリックでトーストを出す

どうも、tatsuです!

今日は、Spinnerをクリックでトーストを出すやり方を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

Spinnerをクリックでトーストを出す

activity_main.xml

activity_main.xmlは以下のようにします。

    <Spinner
        android:id="@+id/droplist"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:entries="@array/items"/>

string.xml

strings.xmlは以下のようにします。

    <string-array name="items">
        <item>そば</item>
        <item>うどん</item>
        <item>そうめん</item>
    </string-array>

MainActivity.java

MainActivity.javaは以下のようにします。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // idがdroplistのSpinnerを取得
        Spinner spinner = (Spinner) findViewById(R.id.droplist);
        // spinnerの値が変更された時の処理を設定
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
            /*
            parent : 選択された項目の親ウィジェット(Spinner)
            view : 選択された項目
            position : 選択された項目の位置(Spinnerでは上から順に0,1,2・・・と番号が付く)
            id : 選択された項目のid
             */
            // 項目が選択された時の処理
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
                Spinner spin = (Spinner) parent;
                // 選択した項目のテキストを取得
                String selectedItemLabel = (String) spin.getSelectedItem();
                Toast toast = Toast.makeText(MainActivity.this, selectedItemLabel, Toast.LENGTH_SHORT);
                toast.show();
            }

            // 項目が選択されなかったときの処理
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }
}

クリックした結果

※↓「そば」選択時

※↓「うどん」選択時

※↓「そうめん」選択時

コメントを残す

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