`
yanghaoli
  • 浏览: 288531 次
社区版块
存档分类
最新评论

对于ListView中自定义Adapter出现的控件显示错乱现象的解决方案!

 
阅读更多

对于自定义Adapter中,使用ViewHolder这样的写法应该是绝大多数人的选择,毕竟为了ListView的平滑感考虑。但是,恼人的是,这样的写法会造成listView在滑动中,会出现控件显示错乱的情况。

我的解决方案是这样的,在else中添加一个方法,使viewholder中的控件状态恢复默认值即可。

 1 final ViewHolder viewHolder;
 2 if (convertView == null) {
 3 
 4     ...
 5 
 6     convertView.setTag(viewHolder);
 7 } else {
 8     viewHolder = (ViewHolder) convertView.getTag();
 9     resetViewHolder(viewHolder);
10 }
11 
12     ...
1 private void resetViewHolder(ViewHolder vh) {
2         vh.btn_play.setVisibility(View.GONE);
3         vh.iv_avatar.setVisibility(View.GONE);
4     }

 

0
6
分享到:
评论

相关推荐

    解决ListView嵌套CheckBox滑动时选中状态错乱

    然而,当ListView内部嵌套CheckBox等可交互组件时,常常会遇到一些问题,特别是滑动过程中选中状态错乱的现象。这个问题主要是由于ListView的复用机制导致的,即ListView在滚动时会复用已滑出屏幕的列表项,如果不...

    ListView中动态添加控件

    当我们需要在ListView中动态添加控件时,通常涉及到列表项的自定义、适配器(Adapter)的使用以及数据集合(如ArrayList)的操作。以下是对这个主题的详细讲解。 1. **ListView的基本结构**: - **ListView**:是...

    listview解决条目错乱

    然而,在实际使用过程中,特别是当ListView的item中包含可交互的组件,如Checkbox、ToggleButton等时,用户滚动ListView时可能会遇到条目错乱的现象。这种情况主要是由于ListView的复用机制导致的,为了解决这个问题...

    listview多线程下载,解决button错乱问题

    在Android开发中,ListView是一种常用的控件,用于展示大量数据列表。然而,当涉及到网络下载任务时,直接在ListView中进行会遇到性能问题,比如点击按钮错乱等。本话题将详细探讨如何在ListView中实现多线程下载,...

    解析json实现listview,listView优化、子控件点击事件等实现

    - **复用convertView**:ListView会复用已经滑出屏幕的项,因此在`getView()`中需要正确处理convertView,避免数据错乱。 - **延迟加载**:对于大数据量的ListView,可以采用懒加载策略,只加载当前可视范围内的...

    listview每一行不一样,更新修改!

    本主题是关于ListView的一个更新,修复了之前存在的问题并增强了功能,尤其是在每一行中加入了自定义的控件。 首先,我们来详细了解一下ListView的基本概念。ListView是一个视图容器,它可以动态加载并显示大量的...

    ListView嵌套ListView的demo

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。然而,在某些复杂的界面设计中,我们可能需要在一个ListView的每一项中再嵌套一个ListView,这就是所谓的"ListView嵌套ListView"。这种布局...

    android Listview 分栏显示

    在许多应用场景中,开发者可能需要实现更复杂的布局效果,例如在一个ListView中显示不同类型的条目,就像百度下载模块那样,它在一个ListView中结合了不同的布局,使得界面既具有信息丰富性,又保持了良好的用户体验...

    android listview带有editText

    由于ListView的视图复用,当用户在EditText中输入数据时,如果ListView滚动,原来的EditText被回收并用于显示其他数据,可能导致用户输入的数据与列表项对应的数据错乱。为了解决这个问题,我们需要在Adapter中维护...

    Android 解决listview中edittext显示混乱问题

    - **自定义Adapter**:在Adapter的getView()方法中,对每个EditText进行初始化,确保每次显示的都是新的状态。 - **使用addTextChangedListener**:为EditText添加TextWatcher,当文本变化时,同步更新数据模型,...

    listView显示网络图片

    本文将深入探讨如何在ListView中实现网络图片的加载与显示,以及解决图片错乱的问题。 首先,我们需要一个图片加载库来帮助我们处理网络图片的下载和显示。在Android社区中,有多个流行的图片加载库可供选择,如...

    Adapter实现ListView带多选框等状态的自定义控件的注意事项

    问题出现在,如果没有正确处理convertView的状态,当你滚动ListView时,可能会出现状态错乱的现象。例如,当你选中一个项,然后滚动,原本未选中的项可能显示为选中。这是因为convertView被重用,而之前的状态没有被...

    ListView带CheckBox 你懂的

    "ListView带CheckBox"的主题,主要涉及如何在ListView的每个列表项中集成CheckBox,并处理滑动过程中可能出现的选中状态错乱问题,以及实现全选、反选等高级功能。下面将详细介绍这些关键知识点。 1. **自定义...

    listview-Edit.zip_ListView_edit listview_listview edit_listviewe

    通过这个压缩包中的"listview控件功能扩展--自定义可编辑列",开发者可以学习到如何实现ListView的自定义编辑功能,从而提升应用的用户体验。这个过程需要深入理解ListView的工作原理,以及如何在Android中有效地...

    ListView CheckBox

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。CheckBox则是提供多选功能的组件。当这两者结合时,可以实现用户在ListView中进行多项选择,例如全选、取消选中以及删除操作。以下是关于...

    安卓listview相关相关-ListView的全选反选.rar

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。本资源"安卓listview相关相关-ListView的全选反选.rar"主要聚焦于ListView的全选和反选功能,这对于构建具有多选操作的列表应用至关重要。在本文...

    listview数据重复解决办法

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。然而,在实际操作中,开发者经常遇到一个问题,那就是ListView的数据重复显示,以及Item的ID错乱问题。这两个问题可能会严重影响用户体验,甚至...

    Android完美解决ListView复用导致的Checkbox状态混乱问题

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。然而,ListView的复用机制有时会导致一些问题,特别是在涉及复选框(Checkbox)的状态管理时。本篇文章将详细探讨这个问题,并提供一个完美的...

    ListView条目中有EditText

    - ListView是一个可滚动的视图容器,它可以从适配器(Adapter)中获取数据并将其显示为多个列表项。 - 创建ListView需要自定义一个Adapter,通常是继承自BaseAdapter或ArrayAdapter,将数据绑定到ListView的每个...

    ListView圆角样式

    在Android开发中,ListView是一种常见的控件,用于展示大量数据列表。然而,系统默认的ListView样式通常是矩形,为了使应用界面更具设计感和个性化,开发者常常需要自定义ListView的Item,实现圆角样式。本篇文章将...

Global site tag (gtag.js) - Google Analytics