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上,因为我不知道该怎么做。