`

说说ListView为什么会重复显示的问题

 
阅读更多

个人理解,android 出于对性能的考虑,对 listview 中的控件进行了重复利用,他只缓存了屏幕可见范围内的数据。当你滚动listview的时候,原来的Item被隐藏起来了,但是他的组件仍然被利用。所以,你会看到之前出于选中状态的Item会重复出现的问题。

那么我们应该怎么做呢?

假设listview中的某一项被选中了。其中的某个子view变为了VISIBLE。当你滚动listview的时候,要确保的是组件在初始化的时候需要回到他的初始状态。即,让这个变为VISIBLE的子view,在绑定数据之前,回到原来的GONE的状态。

分享到:
评论

相关推荐

    关于listview item重用导致图片重复加载 图片重新请求

    然而,在实现ListView时,由于其内部机制,可能会出现一个问题,即ListView中的item(列表项)重用导致图片重复加载,这不仅会消耗不必要的网络资源,还可能影响用户体验。本文将深入探讨这个问题,并提供解决方案。...

    Android完美解决listview中多个edittext显示混乱问题

    然而,在ListView中嵌套多个EditText时,常常会遇到一个问题,即用户在EditText中输入内容时,ListView滚动时导致显示混乱,原本输入的位置与EditText不匹配,这被称为“EditText焦点错乱”或“ListView复用机制问题...

    C# ListView实现图标各种视图显示

    在图标视图中,每个项通常会显示一个图标和相应的文字描述。 1. **添加图标**: 在C#中,我们可以使用ImageList组件来存储和管理图标。首先创建一个ImageList对象,然后将所需的图标添加到ImageList中。通过设置...

    listview数据重复解决办法

    然而,在实际操作中,开发者经常遇到一个问题,那就是ListView的数据重复显示,以及Item的ID错乱问题。这两个问题可能会严重影响用户体验,甚至导致程序逻辑错误。下面我们将深入探讨这个问题,并提供有效的解决策略...

    c# listview 实现循环滚动显示

    这通常涉及到定时器(Timer)的使用,定时器每隔一段时间就会触发事件,更新ListView显示的内容。以下是一个基本的步骤: 1. **创建ListView和Timer**:在Form中添加一个`ListView`控件和一个`Timer`控件,设置`...

    listview在scrollview中完整显示

    然而,当它被嵌套在ScrollView中时,通常会出现一些问题,比如滚动冲突或者ListView无法完整显示。这是因为ScrollView本身就是一个可滚动的视图,而ListView也是可滚动的,两者结合可能会导致滚动行为不正常。本篇...

    listview 实现隐藏显示headerview

    listview 实现隐藏显示headerview

    ListView像左滑动Item显示删除按钮

    为了提高用户体验,许多应用会添加滑动手势来触发特定的功能,例如模仿QQ的左滑显示删除按钮。本篇文章将详细讲解如何实现ListView中Item的左滑动显示删除按钮。 首先,我们需要一个自定义的ListView,这通常通过...

    Listview显示缩略图

    `ListView`在滚动时会自动调用`OnRetrieveVirtualItem`,但如果你在程序运行时动态添加或更新图片,可能需要手动触发`Invalidate`方法以刷新显示。 ```csharp listView.Invalidate(); ``` 通过以上步骤,你可以在...

    android两列显示两个listview

    设置columnCount为2,这样每个单元格可以显示一个ListView,达到并列效果。每个单元格内部再嵌套一个ListView,处理好滚动同步问题。 3. 使用HorizontalScrollView: - 将两个ListView放在一个...

    WPF_ListView横向显示.zip

    然而,通过自定义布局或使用特定的数据模板,我们可以使ListView的显示模式转变为横向,即每列显示一个数据项。这在显示一组相关但较短的数据时特别有用,例如时间线、标签或分类。 首先,我们需要创建一个...

    C#在ListView中Subitem显示图片

    3. **添加图片列**:在ItemTemplate内,为要显示图片的Subitem添加一个Image控件。Image控件的`ImageUrl`属性可以动态设置,以根据数据源中的值加载相应的图片。例如: ```xml ("ImageColumn", "Images/{0}") %>' ...

    listview 复用 数据重复 id错乱 完美解决很简单

    这就是为什么在ListView中,我们需要为每个列表项提供一个Adapter,比如这里的`TeiZiAdapter.java`,它的职责是根据数据源创建并绑定视图。 然而,如果不正确地实现Adapter,就可能导致数据错乱和ID重复的问题。...

    LISTVIEW显示指定目录文件

    为了显示这些信息,我们需要创建列头并为每一项文件添加一个ListView项。在MFC中,可以使用CListCtrl类进行操作,而在Win32 API中,则需直接调用`CreateWindowEx`函数创建ListView控件,并使用`LVM_INSERTCOLUMN`...

    ListView的基本显示

    对于初学者来说,理解并掌握ListView的基本显示至关重要。在本文中,我们将深入探讨ListView的使用方法,包括其基本结构、适配器原理、自定义布局以及性能优化。 1. **ListView的基本结构** - `ListView`是一个可...

    listview 添加图片效果显示,加文字搜索提示

    Adapter是连接数据源和ListView的桥梁,它负责将数据转化为View并显示在ListView中。你可以创建一个继承自BaseAdapter的自定义Adapter,然后重写其中的方法: - `getCount()`: 返回ListView中条目的数量。 - `...

    Android用listview显示数据库中的数据

    ListView是一种可滚动的视图,可以显示多个项目,适合于显示列表数据。 6. **创建数据适配器**:ListView的工作原理是通过数据适配器(如`BaseAdapter`或`ArrayAdapter`)将数据绑定到视图。你需要创建一个自定义的...

    ListView的优化及分类显示

    在处理大量数据时,如果不进行优化,ListView可能会出现性能问题,如滚动卡顿、内存消耗过大等。因此,对ListView进行优化至关重要。 **一、ListView优化** 1. **使用ViewHolder模式**:这是ListView优化的核心,...

    listView滑动显示首字母

    "ListView滑动显示首字母"是指在用户滑动ListView时,每一项数据的首字母会在特定位置高亮显示,通常是为了方便用户快速定位和查找目标数据。这种功能常见于联系人应用或者带有字母索引的列表中。下面我们将详细探讨...

    ListView搜索关键字高亮显示

    在这个主题中,我们将深入探讨如何实现ListView中的搜索关键字高亮显示功能。 首先,我们需要理解搜索功能的基本原理。在Android应用中,通常会有一个搜索框(EditText)供用户输入关键字,当用户输入内容时,我们...

Global site tag (gtag.js) - Google Analytics