我想一次只选择一个单选按钮,但是当我点击另一个按钮选择其中一个单选按钮后,它们都被选中,我该怎么做才能解决这个问题。
我的MainActivity.java代码是
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onClick(View view) {
TextView text=(TextView)findViewById(R.id.txt1);
text.setText("Wrong Answer");
}
public void onClick1(View view) {
TextView text=(TextView)findViewById(R.id.txt1);
text.setText("You are Right");
}
}
答案 0 :(得分:0)
RadioButton应该是RadioGroup的直接子节点,否则分组不起作用。
<RadioGroup
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="0dp"
android:layout_weight="50"
android:layout_height="wrap_content"
android:text="Debit"
android:id="@+id/rDebit"
android:checked="false"
/>
<RadioButton
android:layout_width="0dp"
android:layout_weight="50"
android:layout_height="wrap_content"
android:text="Credit"
android:id="@+id/rCredit"
android:checked="false" />
</RadioGroup>
在java文件中
RadioGroup radioGroup;
radioGroup = (RadioGroup) findViewById(R.id.radioGroup);
做点什么
if (radioGroup.getCheckedRadioButtonId() == R.id.rCredit)
{
// do something
}
答案 1 :(得分:0)
已接受的答案已删除,无法取消删除。可能是因为它只是一个到外部网站的链接。所以这是一个更详细的版本:
您需要将布局文件中相同RadioGroup
内的单选按钮分组。
见这里:https://developer.android.com/guide/topics/ui/controls/radiobutton.html
应用于您的问题,这可能如下所示:
<RadioGroup
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick"
android:text="Dennis Ritchie" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="onClick1"
android:text="James Gosling" />
</RadioGroup>