0

我创建了一个自定义适配器,其中每一行都包含一个单选按钮。一次只能选择一个单选按钮。到目前为止,我一直在列表视图中添加一个 onClick(或 onTouch)事件处理程序,然后遍历所有项目(存储在我的 ArrayList 中)以确定上次选择的项目,然后取消选中它(如果它与当前选择的不同one),然后标记与当前选定行关联的项目以指示它已被选中并选中该项目的单选按钮。

这似乎是一种很长的做事方式。有没有一种简单的方法让 Android 自动取消选中当前选择的任何单选按钮,然后选择新选择的单选按钮?

4

2 回答 2

1

我建议您只跟踪当前选定的项目并adapter.notifyDataSetChange()在单选按钮单击时调用,这将刷新视图并取消选中以前选择的单选按钮。

在适配器中,您必须编写如下内容:

View getView(...) {
    /////// initialize views

    if (getItemId(position) == selectedId) {
        radioButton.setChecked(true);
    } else {
        radioButton.setChecked(false);
    }

    //////////
}

这不是精确的代码,但我希望你明白了。

于 2013-11-07T08:32:21.513 回答
0

愿这对你有所帮助。

http://custom-android-dn.blogspot.in/2012/12/how-to-use-and-custom-radio-button-in_23.html

无线电按钮通常由无线电组分组。选择组内的一个radiobutton,所有其他按钮将自动取消选择。

于 2013-11-07T09:15:12.610 回答