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

どうも、tatsuです!

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

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

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

activity_main.xml

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

    <RadioGroup
        android:id="@+id/group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RadioButton
            android:id="@+id/soba"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:textSize="20sp"
            android:text="そば"/>
        <RadioButton
            android:id="@+id/udon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="うどん"/>
        <RadioButton
            android:id="@+id/somen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:text="そうめん"/>
    </RadioGroup>

MainActivity.java

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

public class MainActivity extends AppCompatActivity {

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

        // idがgroupのRadioGroupを取得
        RadioGroup radioGroup = (RadioGroup) findViewById(R.id.group);
        // radioGroupの選択値が変更された時の処理を設定
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
            public void onCheckedChanged(RadioGroup group, int checkedId){
                // checkedIdには選択された項目のidがわたってくるので、そのidのRadioButtonを取得
                RadioButton radioButton = (RadioButton) group.findViewById(checkedId);
                // 表示する文字列を選択値によって変える
                String displayChar = "";
                switch (checkedId){
                    case R.id.soba:
                        displayChar = "そばに決まり!";
                        break;
                    case R.id.udon:
                        displayChar = "やっぱりうどん!";
                        break;
                    case R.id.somen:
                        displayChar = "夏はそうめん!";
                }
                Toast toast = Toast.makeText(MainActivity.this, displayChar, Toast.LENGTH_SHORT);
                toast.show();
            }
        });
    }
}

クリックした結果

※↓「そば」選択時

※↓「うどん」選択時

※↓「そうめん」選択時

コメントを残す

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