Java 知道在RadioGroup上选中了哪个单选按钮
我想知道哪个Java 知道在RadioGroup上选中了哪个单选按钮,java,android,Java,Android,我想知道哪个单选按钮被选中执行操作 但这不起作用。在日志中,我的ID是-1 mradioGroup = (RadioGroup) rootView.findViewById(R.id.choix_plateforme); mradioGroupt = (RadioButton) rootView.findViewById(R.id.ps4); mradioGroupa = (RadioButton) rootView.findViewById(R.id.xbox)
单选按钮被选中执行操作
但这不起作用。在日志中,我的ID是-1
mradioGroup = (RadioGroup) rootView.findViewById(R.id.choix_plateforme);
mradioGroupt = (RadioButton) rootView.findViewById(R.id.ps4);
mradioGroupa = (RadioButton) rootView.findViewById(R.id.xbox);
mradioGroupw = (RadioButton) rootView.findViewById(R.id.pc);
int selectedId = mradioGroup.getCheckedRadioButtonId();
Log.d(getClass().getName(), "Plateforme_Choix = " + selectedId);
// find which radioButton is checked by id
if(mradioGroupt.isChecked()) {
string_plateforme = "one";
} else if(mradioGroupa.isChecked()) {
string_plateforme = "two";;
} else if (mradioGroupw.isChecked()){
string_plateforme = "oops";
}
else {
string_plateforme = "wrong";
}
我的if
语句也不起作用
<RadioGroup
android:id="@+id/choix_plateforme"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal">
<RadioButton
android:id="@+id/ps4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Playstation 4" />
<RadioButton
android:id="@+id/xbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="XBOX ONE" />
<RadioButton
android:id="@+id/pc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Ordinateur" />
</RadioGroup>
你能告诉我哪里错了吗?我不想要新代码,但如果可以的话,请向我解释我的错误。尝试设置一个OnCheckedChangeListener
更改listener:
radiogroup.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(RadioGroup group, int checkedId)
{
switch(checkedId)
{
case R.id.ps4:
Log.d(getClass().getName(), "Plateforme_Choix =ps4");
break;
case R.id.xbox:
Log.d(getClass().getName(), "Plateforme_Choix =xbox");
break;
case R.id.pc:
Log.d(getClass().getName(), "Plateforme_Choix =pc");
break;
}
}
});
开始时没有选中的单选按钮。因此,只有当用户真正点击其中一个单选按钮时,才会得到选中的单选按钮。如果您始终希望至少选中一个单选按钮,则可以通过编程方式或通过属性android:checked=“true”