ラジオボタンを作成する
今回は作成したラジオボタンがグループ内で変化したときのイベントを取得したいと思います
ちなみに今回はlayout/mainで生成したラジオボタン(静的)を使用したい思います
クリックイベントを取得する為にはRadioGroup.OnCheckedChangeListenerを使用します
これをradioGroupに設定させることで
イベントが取得された際にonCheckedChangedが実行されます
onCheckedChangedの引数の1つ目がそのクリックされたradioGroup
2つ目がクリックされたradioButtonになります
今回は押されたラジオボタンのテキストをログ出力したいと思います
MainActivity.java
package blog.test;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.RadioGroup;
public class MainActivity extends Activity {
//RadioGroup group;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final RadioGroup group = (RadioGroup)findViewById(R.id.radiogroup_id);
//ラジオボタンが変化した時のイベントを取得
group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup arg0,int arg1){
if(arg0 == group){
switch(arg1){
//ラジオボタン1が押されたとき
case R.id.radioButton1:
Log.i("tag","radioButton1");
break;
//ラジオボタン2が押されたとき
case R.id.radioButton2:
Log.i("tag","radioButton2");
break;
}
}
}
});
}
}
onCheckedChangedの引数の1つ目をgroupだったときswitch以下が実行され第2引数をcase分けしてLogを出力しています
これを実行すると前回と同じような画面が出ます
ラジオボタン2を押すとラジオボタン1の選択が解除されるのがわかります
ボタンをカチカチやるとログが出力されているのがわかります
スポンサードリンク

