【问题标题】:Adding rows to a listview with radio buttons使用单选按钮将行添加到列表视图
【发布时间】:2013-11-18 19:00:02
【问题描述】:

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

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

【问题讨论】:

    标签: android radio-button


    【解决方案1】:

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

    在适配器中你必须这样写:

    View getView(...) {
        /////// initialize views
    
        if (getItemId(position) == selectedId) {
            radioButton.setChecked(true);
        } else {
            radioButton.setChecked(false);
        }
    
        //////////
    }
    

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

    【讨论】:

      【解决方案2】:

      希望对您有所帮助。

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

      单选按钮通常由无线电组分组。选择一个组内的一个RadioButton时,所有其他因素都会自动取消选择。

      【讨论】:

        猜你喜欢
        • 2014-01-09
        • 2014-01-06
        • 2011-09-03
        • 2016-07-10
        • 1970-01-01
        • 2011-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多