Android RadioGroup允许选择多个单选按钮

Android RadioGroup允许选择多个单选按钮,android,Android,我有一个用XML定义的RadioGroup,它有两个单选按钮。但是,我需要将标签显示在按钮本身的左侧,标签向左对齐,按钮向右对齐。为此,我使用了一个RelativeLayout,其中包含一个TextView和一个不带文本的RadioButton。这大致是布局的外观: <RadioGroup android:id="@+id/foo" android:layout_height="wrap_content" android:layout_width="match_parent">

我有一个用XML定义的RadioGroup,它有两个单选按钮。但是,我需要将标签显示在按钮本身的左侧,标签向左对齐,按钮向右对齐。为此,我使用了一个RelativeLayout,其中包含一个TextView和一个不带
文本的RadioButton
。这大致是布局的外观:

<RadioGroup android:id="@+id/foo" android:layout_height="wrap_content" android:layout_width="match_parent">
    <RelativeLayout android:layout_height="wrap_content" android:layout_width="match_parent">
        <TextView android:text="@string/bar_one" android:layout_alignParentLeft="true" android:layout_height="wrap_content" android:layout_width="wrap_content" />
        <RadioButton android:id="@+id/bar1" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" />
    </RelativeLayout>
    ...
</RadioGroup>

...
这显示了我期望的方式,但我发现RadioGroup允许选择多个RadioButton。当我删除RelativeLayouts和TextView,使单选按钮直接嵌套在RadioGroup下时,只能选择一个。是否有一种方法可以包装我的单选按钮,但同时避免选择多个单选按钮


如果没有,是否有更好的方法来完成我想要的样式设置?

使用完整的xml更容易判断,因为您只显示一个
单选按钮,因此无法知道另一个按钮的属性,或者屏幕截图会有所帮助。但是您可以使用
线性布局
并执行以下操作

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
...>
    <RadioGroup
     ...>
     <TextView
      .../>
     <RadioButton
     .../>
    <TextView
      .../>
    <RadioButton
    .../>
</RadioGroup>
</LinearLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="wrap_content" 
    android:layout_width="match_parent">

    <RadioGroup 
        android:id="@+id/foo" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentRight="true" >

        <RadioButton android:id="@+id/bar1" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" />

        <RadioButton
            android:id="@+id/bar2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </RadioGroup>

    <TextView android:id="@+id/textView1"
        android:text="Text 1" 
        android:layout_alignParentLeft="true" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:layout_alignBottom="@+id/bar1"/>

    <TextView android:text="Text 2" 
        android:layout_alignParentLeft="true" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_alignBottom="@+id/foo" />      
</RelativeLayout>


@MaciejGórski的可能副本这个问题非常接近,尽管它只需要在按钮和标签之间添加一些填充物,而不需要将按钮和标签对齐。我相信将它们对齐需要在RadioGroup和RadioButton之间设置一个视图组(这可以防止选择相互排斥),但我很好奇,如果有的话,可能会有什么替代方案。