我正在使用广播组,但RadioGroup
onClick
事件未触发,
方法getCheckedRadiobuttonID()
返回null
。这是我的布局中的元素:
<RadioGroup
android:id="@+id/RG1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:onClick="onRGClick" >
方法
public void onRGClick(View v) {
Toast.makeText(this, "Test ", 1000).show();
}
最佳答案
可以使用以下方法解决此问题
RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
switch(checkedId)
{
case R.id.radio0:
// TODO Something
break;
case R.id.radio1:
// TODO Something
break;
case R.id.radio2:
// TODO Something
break;
}
}
});
或者
您可以使用自定义ID而不是默认ID
RadioGroup rg = (RadioGroup) findViewById(R.id.radioGroup1);
rg.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
switch(checkedId)
{
case R.id.male:
// TODO Something
break;
case R.id.female:
// TODO Something
break;
case R.id.other:
// TODO Something
break;
}
}
});