如何在android自定义列表视图中一次选中一个复选框

如何在android自定义列表视图中一次选中一个复选框,android,listview,checkbox,Android,Listview,Checkbox,经过多次尝试,我没有找到在android的自定义列表视图中一次选中一个复选框的解决方案。数据通过web服务动态地传输。如果我在列表视图中的一个复选框上选中,而另一个复选框未选中。如果有任何好友有解决方案,请与我共享。在每个复选框中单击call notifyDatasetChanged with your adapter,然后将其选中 你可以参考这篇文章,这篇文章和你需要的有点不同,但它可以帮助你 在xml文件中的所有radiobutton中添加以下行: <RadioButton .

经过多次尝试,我没有找到在android的自定义列表视图中一次选中一个复选框的解决方案。数据通过web服务动态地传输。如果我在列表视图中的一个复选框上选中,而另一个复选框未选中。如果有任何好友有解决方案,请与我共享。

在每个复选框中单击call notifyDatasetChanged with your adapter,然后将其选中


你可以参考这篇文章,这篇文章和你需要的有点不同,但它可以帮助你

在xml文件中的所有radiobutton中添加以下行:

<RadioButton 
   ...
   android:onClick="onClickRadioButton"
   ...
/>

为什么不使用单选按钮?复选框通常用于需要多选的地方。@SakthiKumar k i将更改,我如何做您可以使用单选按钮而不是复选框。@Segi但我希望在列表视图中一次选择一个,它们也选择多个Hi,当列表适合一页时,这一方法有效,但当列表长于一页时,listIndex从第一个可见的列表项开始计数,而不是从列表的实际开始计数,因此会出现混乱。如何解决这个问题?
private RadioButton listRadioButton = null;
   int listIndex = -1;

   public void onClickRadioButton(View v) {
        View vMain = ((View) v.getParent());

        if (listRadioButton != null) listRadioButton.setChecked(false);

        listRadioButton = (RadioButton) v;
           if (listRadioButton.isChecked) {
            listIndex = ((ViewGroup) vMain.getParent()).indexOfChild(vMain); 
        } else {
            listRadioButton = null;
            listIndex = -1
        }
    }