2017-09-15 171 views
0

我一次只想选择一个单选按钮,但选中其中一个单选按钮后,如果我点击其中一个按钮,他们都被选中,我该如何解决这个问题。 Screenshot of the activity main只选择一个单选按钮

我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"); 
} 
} 
+4

一个字'Radiogroup' –

+0

只需使用RadioGroup中,往其中加单选按钮 –

回答

0

单选按钮应该是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 
} 
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>