我有一个使用单选按钮的应用。此按钮的默认值在main.xml文件中设置,即:
android:id="@+id/rb_sat1E"
android:checked="true"
在Java文件中我有:
final RadioButton radio1 = (RadioButton)findViewById(R.id.rb_sat1E);
我还在主Java文件中创建了一个“重置”按钮,可以使用以下代码重置TextView信息,即。
pos1_deg.setText("0.0");
但是如何重置单选按钮?我本以为它就像是
radio1.setBoolean("TRUE");
但这根本不起作用。
任何帮助非常感谢。感谢。
答案 0 :(得分:89)
对于radioButton使用
radio1.setChecked(true);
只有一个RadioButton是没有意义的。如果你有更多这些,你需要通过
取消选中其他人radio2.setChecked(false); ...
如果你的设置只是打开/关闭,请使用CheckBox。
答案 1 :(得分:89)
如果您想在代码中执行此操作,可以调用RadioGroup的检查成员:
radioGroup.check(R.id.radioButtonId);
这将检查您指定的按钮并取消选中其他按钮。
答案 2 :(得分:30)
或者您可以在XML文件中执行此操作:
在 RadioGroup 中使用:android:checkedButton="id_button_to_check"
或 RadioButton :android:checked="true"
答案 3 :(得分:9)
只是为了澄清这一点:如果我们有一个RadioGroup
有几个RadioButtons
并且需要通过索引激活一个,则意味着:
radioGroup.check(R.id.radioButtonId)
和
radioGroup.getChildAt(index)`
我们可以这样做:
radioGroup.check(radioGroup.getChildAt(index).getId());
答案 4 :(得分:4)
如果你已经用XML完成了设计并希望在加载下面的页面时显示组中的一个复选框,那么解决方案可以帮助你
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtLastNameSignUp"
android:layout_margin="20dp"
android:orientation="horizontal"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:id="@+id/Male"
android:text="Male"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Female"
android:text="Female"/>
</RadioGroup>
答案 5 :(得分:0)
我有多个没有组的RadioButtons和setChecked(true)
有效,但setChecked(false)
不起作用。但是这段代码可行:
RadioButton switcher = (RadioButton) view.findViewById(R.id.active);
switcher.setOnClickListener(new RadioButton.OnClickListener(){
@Override
public void onClick(View v) {
if(((RadioButton)v).isSelected()){
((RadioButton)v).setChecked(false);
((RadioButton)v).setSelected(false);
} else {
((RadioButton)v).setChecked(true);
((RadioButton)v).setSelected(true);
}
}
});
答案 6 :(得分:0)
很多时候,如果您的单选按钮属于同一个radioGroup,那么
<强> radioButton.setChecked(真)强>
不会正确选择单选按钮。因此,要解决此问题,请尝试使用您的radioGroup。
<强> radioGroup.check(R.id.radioButtonId)强>
答案 7 :(得分:0)
使用此代码
((RadioButton)findViewById(R.id.radio3)).setChecked(true);
错误->不要忘记在setChecked()之前整体给出() ->如果您忘记这样做,则setChecked()对此单选按钮不可用
答案 8 :(得分:-1)
btnDisplay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId = radioSexGroup.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioSexButton = (RadioButton) findViewById(selectedId);
Toast.makeText(MyAndroidAppActivity.this,
radioSexButton.getText(), Toast.LENGTH_SHORT).show();
}
});