`

ListView 不执行getView()方法

 
阅读更多
http://liangguo03.blog.163.com/blog/static/1752784692011620240325/
引用
因为 ListView不调用getView()方法纠结了两个小时。。。。。。。

setAdapter 时,首先会执行getCount(),当getCount()  返回的是0时,就不会去执行getView()方法, 如果 开启线程去下载数据,然后在getCount()中返回其size, 开始的时候因为还没有下载数据,返回的size可能是0,所以不会去调用getView()方法,界面就不会被填充。    下载完成后  通过 notifyDataSetChanged()方法 重新加载适配器,就会调用getView()方法了。
分享到:
评论

相关推荐

    android中ListView多次刷新重复执行getView的解决方法

    `getView()` 方法是ListView中的核心,它负责创建或复用ListView的每一个Item视图。在某些情况下,`getView()` 可能会被多次重复执行,这不仅可能导致性能下降,还可能引起一些预期之外的行为,比如多次触发监听器。...

    android listview getview多调用俩周期

    `getView()`方法是ListView的Adapter中的关键函数,负责为每个列表项视图进行布局填充和复用。然而,有时开发者会遇到`getView()`被多次调用的情况,这可能会导致性能问题或者预期效果无法实现。下面我们将深入探讨`...

    listview 图片异步加载 图片错位 软引用 getView调用次数 convertView重用

    * listview的第一个元素(A)是公用一个convertView的(一般情况),此时问题就来了,如果异步下载图片执行的比较慢,第一个元素对应的url * 下载的图片会放到第一个元素上面还是滑动后第一个可见的元素上面呢? ...

    listview以动画方式出现

    - 在ListView的`getView()`方法中,当创建或复用一个View时,可以为其设置动画。例如,使用`startAnimation()`方法启动动画。 - 动画监听器:可以通过实现Animation的`AnimationListener`接口,添加`onStart()`, `...

    ListView动态添加、移除item

    2. 使用`AbsListView.OnScrollListener`监听ListView的滚动事件,确保在不滚动时执行添加和移除操作,以避免动画和滚动冲突。 六、注意点 1. 在主线程中执行数据源和Adapter的操作,但避免在主线程中执行耗时操作,...

    Android Listview 按钮点击状态错乱之解决方法

    这些操作可能导致`getView()`方法执行时间过长,进而影响ListView的滚动性能,可能会间接导致按钮状态混乱。 通过以上策略,我们可以有效地解决ListView中按钮点击状态错乱的问题。在实际项目中,可能需要结合使用...

    标准简洁优化的ListView背景颜色不失效

    回到标题中的“背景颜色不失效”,这通常需要在getView()方法中,根据数据项的状态来设定背景色。例如,如果数据项有一个标识表示选中状态,那么在该方法中检查这个标识并设置相应的背景色。这样,即使视图被复用,...

    最经典的listView优化demo

    2. **数据绑定**:在填充数据时,避免在getView()方法中执行复杂的逻辑或网络请求,这会导致性能下降。数据应在后台线程中处理好,然后传递给Adapter,再由Adapter更新到ListView。 3. **复用监听器**:为防止内存...

    安卓listview相关相关-listview快速滑动修改默认的滑动条.rar

    - 避免在ListView的`getView()`方法中执行耗时操作,如网络请求、数据库查询等。 - 使用AsyncTask或其他异步加载机制来加载图片或其他资源,避免阻塞UI线程。 8. **TestListView示例**: - "TestListView"可能是...

    含按钮的ListView

    我们可以继承它并重写必要的方法,如`getCount()`(返回数据源的大小)、`getItem(int position)`(获取指定位置的数据项)、`getItemId(int position)`(返回数据项的ID)以及`getView(int position, View ...

    在ListView中嵌套Switch开关,点击ListView条目来切换Switch的状态

    - 为了提高ListView的滚动性能,通常会在`getView()`方法中使用convertView和ViewHolder模式。ViewHolder持有列表项中各个控件的引用,避免频繁的findViewById操作。 4. **Switch的使用**: - Switch是Android的...

    ListView添加CheckBox复选框

    此外,为了保持ListView的性能,应该避免在`getView()`中执行耗时操作。可以使用convertView机制,复用已经创建的视图,减少不必要的视图创建。检查`convertView`是否为null,如果不为空,可以直接使用,否则创建新...

    android BaseAdapter listView优化

    `getView()`方法会在ListView滚动时被频繁调用,用于创建或复用ListView的子视图(ViewHolder)。 ListView的优化主要包括以下几个方面: 1. **复用convertView**:ListView的性能关键在于convertView的复用机制。...

    ListView 控件修改源码

    2. **优化滚动性能**:ListView在滚动时会调用`getView()`,所以确保这个方法执行快速至关重要。避免在此处执行耗时操作,如网络请求或复杂的布局计算。可以预先处理数据并在`getView()`中直接使用。 3. **滚动监听...

    listView上增加button点击事件

    接着,我们会在Adapter的`getView()`方法中实例化并配置每个item的视图。在这个过程中,我们需要找到Button并设置它的点击监听器。例如: ```java public View getView(int position, View convertView, ViewGroup ...

    listview上拉加载chackbox复用

    `getView()`是Adapter的一个关键方法,负责为ListView提供视图。在该方法内,你需要确保每次创建或复用一个列表项时,Checkbox的状态都被正确地设置。 1. **初始化视图**:首先,你需要检查convertView(复用的视图...

    ListView的用法及详解

    总结,ListView是Android开发中不可或缺的一部分,熟练掌握其使用方法和优化技巧,能够帮助开发者构建出功能强大且用户体验良好的应用程序。无论是简单的列表展示,还是复杂的视图组合,ListView都能提供相应的解决...

    ListView多选,全选,反选,全不选

    本篇将详细介绍如何在ListView中实现多选、全选、反选和全不选功能。 首先,我们需要了解ListView的基本结构。ListView通常由Adapter驱动,Adapter负责将数据转化为View显示在列表中。每个View(即ListView的一个...

    ListView列表更新数据

    `notifyDataSetChanged()`方法会触发ListView重新调用适配器的`getView()`方法,以渲染更新后的数据。这种方法的优点在于,它只重新绘制改变的部分,而不是整个列表,提高了性能。 值得注意的是,为了使`...

Global site tag (gtag.js) - Google Analytics