模拟下在项目中出现的问题
<1>选中3个

<2>往下滑动
<3>网上滑动后,刚才勾选的消失了
当时项目的解决方法
设一个MAP用于存方 是否勾选的boolean值。
checkbox是图片做得
在设配器里增加一个全局的map
public Map<Integer, Boolean> isSelected=new HashMap<Integer, Boolean>();
捕获事件处理,屏蔽了checkbox的事件:lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
cb=(CheckBox) view.findViewById(R.id.cb);
//切换图片状态,选中或者没选中
cb.toggle();
//将状态存到map里保存
adapter.isSelected.put(position, cb.isChecked());
}});
在适配器的处理的方式 :if(isSelected!=null&&isSelected.get(position)!=null){
holder.cb.setChecked(isSelected.get(position));
}
改后效果
<1>

<2>下拉后,会发现第二页有3项莫名的被选了
<3>拉回去,0,1,2依旧被勾选了的
问题解决了,但是出现了个新的问题,当你勾选了1,2,3,当你向后滚动发现另一个view也莫名奇妙的勾选了
解决方式:
第一种方式
public View getView(final int position, View convertView, ViewGroup parent) {
// 去掉下面那句,但是以后就每次会生成新的convertView
//if(convertView==null)
convertView=inflater.inflate(R.layout.a,null);
第二种方式
boolean flag=false;
holder.cb.setChecked(flag);
if(isSelected!=null&&isSelected.get(position)!=null){
holder.cb.setChecked(isSelected.get(position));
}

- 大小: 10.3 KB

- 大小: 9.2 KB

- 大小: 5.7 KB

- 大小: 11.6 KB

- 大小: 11.5 KB

- 大小: 10.5 KB
分享到:
相关推荐
4. README文档:通常会详细说明项目的安装、使用方法以及可能遇到的问题和解决方案。这对于初学者来说是非常宝贵的资源,可以帮助他们快速上手。 5. 示例图片:可能会包含一些截图,展示不同样式和状态下的复选框和...
在Vue中,复选框通常期望绑定的数据是一个数组,而不是布尔值。 在上述代码中,`form[`${item1.code}`]`的初始值未被正确设置,因此Vue不会将其视为响应式的数组。尝试初始化为数组,如: ```javascript this....
在用户界面设计中,复选框(checkbox)常用于让用户在多个选项中选择一个或多个。在这里,它可能是指在捆绑过程中,用户可以通过复选框来选择想要添加到捆绑包中的具体文件或项目。 至于【压缩包子文件的文件名称...
然而,在使用RecyclerView时,我们可能会遇到一些复杂的问题,比如与复选框(Checkbox)相关的选择错乱和选不中问题。这些问题通常出现在当用户尝试交互时,如勾选或取消勾选列表中的项目,但实际显示的效果不符合...
在iOS开发中,为了提供用户友好的交互,我们经常需要创建自定义的UI元素,比如Checkbox(单选框)。在标准的UIKit框架中,...这个项目为开发者提供了一个实际案例,帮助他们深入理解这些知识点,并应用到实际项目中。
- **背景介绍**:Snappy 是 Ubuntu 系统的一个子项目,专注于快照技术。 - **Snappy Provider**: - **创建测试**:指导如何为 Snappy 创建测试。 综上所述,Checkbox 是一个功能强大的自动化测试框架,适用于 ...
在`getView()`方法中,我们需要创建或复用一个包含Checkbox的布局。布局可以预先设计好,例如一个包含TextView和Checkbox的LinearLayout。然后,通过findViewById()方法找到Checkbox,将其设置为单选或多选模式,并...
在设计一个CheckBox组时,可能会遇到需要实现全选功能的需求,即点击一个主CheckBox可以同时选择或取消选择所有子CheckBox。这个功能的实现涉及到位运算和枚举的Flags特性,这两个是C#编程中的重要概念。 **位运算*...
在提供的压缩包文件`struts2_usermgr`中,可能包含了一个用户管理的示例项目,其中可能有使用`checkbox`标签的例子。通过查看这个项目,我们可以更深入地了解Struts2.0的`checkbox`标签在实际应用中的用法,包括但不...
然而,当ListView内的每一项包含CheckBox时,可能会遇到一个常见的问题:当用户滚动ListView时,选中的CheckBox状态会错误地在不同行之间跳跃,即所谓的“复选框跳跃”问题。这个问题主要源于ListView的复用机制,它...
然而,在实际应用中,我们经常遇到的一个问题就是ListView中的CheckBox或者其他View元素出现错位的情况。这个问题主要涉及到ListView的复用机制、布局优化以及自定义Adapter等内容。下面,我们将详细讨论这个...
然而,这也带来了问题:如果一个item的CheckBox被勾选,当这个item被复用时,CheckBox的状态可能被错误地保留下来。 二、解决Checkbox状态错乱问题 1. 使用ViewHolder模式:ViewHolder模式是为了避免频繁的...
在实际项目中,我们可能会遇到更复杂的情况,比如动态加载的复选框、分页数据等,这时需要对代码进行适当的调整以适应这些场景。例如,使用事件委托来处理动态添加的复选框,或者在分页切换时更新全选复选框的状态。...
标题“c# 自定义多选checkbox”表明我们将讨论如何在C#中创建一个支持多选功能的自定义复选框控件。在标准的.NET Framework控件库中,CheckBox类只支持单选,不提供多选功能,因此我们需要自定义控件来实现这一功能...
在这个适配器中,我们需要创建一个持有每个条目状态的数据模型类,通常包含一个布尔值表示CheckBox是否被选中。当用户点击CheckBox时,适配器会更新对应条目的状态。 ```java public class Item { private String ...
这个压缩包文件包含了一个自定义的带有动画效果的CheckBox控件,它只通过一个自定义的View文件实现。这样的设计可能简化了代码结构,但也可能限制了功能的完整性。下面将详细解释自定义控件的相关知识点,并探讨如何...
最后,`CheckBoxDemo`项目可能包含了一个简单的布局文件`list_item.xml`,定义了每个ListView项的布局,其中包含了一个checkBox: ```xml android:layout_width="match_parent" android:layout_height="wrap_...
5. **封装与复用**:为了方便其他项目使用,开发者将这个修改后的控件封装成一个新的组件,如本例中的`CjCheckBox`。这个新组件可能包含了所有实现透明`Caption`所需的功能,使用者只需像普通`CheckBox`一样在界面上...
然而,当需要在ListView的每一项中嵌套CheckBox时,往往会遇到一些技术挑战。本文将深入探讨如何完美地解决这些问题,并阐述如何获取选中后的CheckBox值。 一、ListView与CheckBox的基础知识 1. ListView:ListView...
当ListView的每一项(item)中包含一个复选框(checkBox)时,可能会遇到一个常见的问题:当用户点击选中某个复选框并滚动ListView时,原本选中的复选框会出现在其他位置,也就是所谓的“错位”问题。这个问题主要是...