Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android取消选中ListView上的复选框_Java_Android_Listview_Adapter - Fatal编程技术网

Java Android取消选中ListView上的复选框

Java Android取消选中ListView上的复选框,java,android,listview,adapter,Java,Android,Listview,Adapter,我有一个带有自定义适配器的列表视图。它计数复选框。当其中一个被选中时,我希望其他的被选中。我尝试创建一个复选框列表,然后创建了一个返回此列表的方法,但它一直提供indexootfbounds(我在getView方法中将复选框添加到列表中) xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an

我有一个带有自定义适配器的
列表视图
。它计数复选框。当其中一个被选中时,我希望其他的被选中。我尝试创建一个
复选框
列表,然后创建了一个返回此列表的方法,但它一直提供indexootfbounds(我在getView方法中将复选框添加到列表中)

xml:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<CheckBox android:id="@+id/checkBoxListView"
    android:layout_height="50px"
    android:layout_width="50px"/>

<EditText android:id="@+id/editTxtListView"
    android:layout_height="50px"
    android:layout_width="680px"
    android:editable="false"
    android:focusable="false" />    


为什么不使用一个表示选中位置的全局整数,并在getview方法中查看全局变量的值和调用getview的位置是否相同,然后选中复选框,否则不选中。

在粘贴箱中看到了您的代码。
这是一件非常复杂的事情。
总之,请快速评论一下,
不要这样做。pos=位置
在getView()中。

如果(position==this.pos){
//选中此复选框}
否则{
//取消选中此复选框
}

同样,“pos”应该由活动或处理列表数据的pojo本身控制。

我认为如果这样做,我不理解适配器是如何工作的。在哪种情况下调用getView方法?对于当前在屏幕上可见的列表视图的所有行,都会调用getView。因此,如果您选中了index=2中的复选框,则会从index=0调用getView以列出长度,因为只有在第二个位置选中了它,才会绘制复选标记,而对于其他位置,只会绘制复选框。为了更好地理解适配器,您可以按照以下步骤操作:我尝试过,但没有成功。。也许我做错了什么。我把我的代码贴在了@Pastebin上,因为我不知道该怎么做。