如何在自定义适配器中对单选按钮进行分组?

时间:2011-03-28 19:35:23

标签: android listview radio-button listactivity listadapter

我的问题类似于this question,由于我无法找到一个令人满意的答案,我想明确提出我的问题。

我有一个自定义适配器,它接受一个字符串数组,并且必须用该数组填充列表(在我的ListActivity类中定义)。现在,每行的布局都有一个文本视图和一个radiobutton,如图所示

layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" 
android:layout_height="wrap_content">
<TextView android:text="@+id/word" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:id="@+id/word"
    android:textSize="30px">
</TextView>
<RadioButton
    android:id="@+id/selection"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="4px"
    android:layout_marginRight="10px"
    android:layout_alignParentRight="true"
    android:layout_x="27px"
    android:layout_y="8px">
</RadioButton>

到目前为止,一切正常。我能够用radiobutton渲染每一行。 我正在寻找的是一种方法,我可以将这些无线电按钮组合在一起进行单一选择。 这是我正在制作的应用程序所必需的,其中有四个选项作为答案的问题。 还请告诉我这是否是解决此类问题的正确方法。 提前致谢

1 个答案:

答案 0 :(得分:0)

我本可以更清楚。无论如何,你最终组装的XML需要看起来像这样。您可以在代码中执行此操作,只要您正在构建的内容被返回,就可以了。每个RadioButton必须属于RadioGroup容器。

<RadioGroup
            android:id="@+id/rg_configup1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            >
            <RadioButton
                android:id="@+id/rb_configup1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Sales"
                android:layout_centerVertical="true"
                android:layout_centerHorizontal="true"
                >
            </RadioButton>
            <RadioButton
                android:id="@+id/rb_configup2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Regional"
                android:layout_above="@+id/rb_configup1"
                android:layout_alignLeft="@+id/rb_configup1"
                >
            </RadioButton>
            <RadioButton
                android:id="@+id/rb_configup3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Global"
                android:layout_above="@+id/rb_configup2"
                android:layout_alignLeft="@+id/rb_configup1"
                >
            </RadioButton>
            <RadioButton
                android:id="@+id/rb_configup4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Ad-hoc"
                android:layout_above="@+id/rb_configup3"
                android:layout_alignLeft="@+id/rb_configup1"
                >
            </RadioButton>
        </RadioGroup>

这是否有意义,或者您是否尝试使用XML之外的其他内容?