`
libo19881179
  • 浏览: 269835 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【BUG解决】ListView getView()多次调用 -----ActivityGroup导致!?

阅读更多

最近做的ActivityGroup实现底部menu(iPhone一样的)

其中一个页面里是一个自定义的Listview,发现getView方法被调用了多次!有时甚至上百次··晕!

网上很多帖子都说是height设置成fill就可以,但事实不是的!


我是这样猜想的:1.listView中的getView调用的次数,我们一般是不可控制的。因为ListView控件 我们用的毕竟是google的。

2.实际测试中发现不把这个ListView放在ActivityGroup中就没有问题,所以我猜想这是ActivityGroup导致的,估计是因为由于ActivityGroup中的内容是动态布局。使得listView初始化时高度不确定(因为底部有menu),多次计算高度所导致的!


这确实很影响效率,而且大部分我们还要异步加载其中的图片,这就更是让用户感觉不爽了。我不知道用其他方式实现底部menu按键条的方法是否有这种情况所以写出来,希望大家讨论下,大家多多帮忙~

http://androiddada.iteye.com/

问题已经解决,貌似gruop里面的子页面 不管你设置了多少的宽高,都会被设置为wrap,所以这里比较恶心。我们需要为子页面的xml布局中 再加入个layout(至于什么样的布局 跟你情况而定)设置它的宽高。一定要设置成xxdip 固定长度。这样才可以!直接设置子页面layout的宽高是无效的,因为是子页面,加载这页是系统仍然会认为他是wrap。所以,我们必须在里面再加入一个layout 撑开它! 最后,我们可以根据不同屏幕的大小动态设置这个layout的宽高!

分享到:
评论
4 楼 fly_to_the_winds 2012-07-19  
请我lz能给我发一个ActivityGroup实现底部导航栏,Activity不管跳转几次都可以保留这个底部导航栏的demo吗? 414215875@qq.com谢谢了!
3 楼 libo19881179 2011-11-26  
libo19881179 写道
zhouyu260 写道
我现在在使用ActivityGroup,按照网上的方法改为fill_parent不行啊 该怎么办啊?你解决了吗?

其实很简单 你把listview的高度写成固定值就可以了,如果想适应多种分辨率,就先取得屏幕高的分辨率 然后动态设置listview的高度~!

我已经完美解决了,忙记写到博客了~谢谢你提醒
2 楼 libo19881179 2011-11-26  
zhouyu260 写道
我现在在使用ActivityGroup,按照网上的方法改为fill_parent不行啊 该怎么办啊?你解决了吗?

其实很简单 你把listview的高度写成固定值就可以了,如果想适应多种分辨率,就先取得屏幕高的分辨率 然后动态设置listview的高度~!
1 楼 zhouyu260 2011-11-25  
我现在在使用ActivityGroup,按照网上的方法改为fill_parent不行啊 该怎么办啊?你解决了吗?

相关推荐

    android listview getview多调用俩周期

    然而,有时开发者会遇到`getView()`被多次调用的情况,这可能会导致性能问题或者预期效果无法实现。下面我们将深入探讨`getView()`的调用机制、多调用周期的原因以及如何优化。 1. **`getView()`的调用机制** `...

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

    在某些情况下,`getView()` 可能会被多次重复执行,这不仅可能导致性能下降,还可能引起一些预期之外的行为,比如多次触发监听器。 在描述中提到的问题,开发者在测试时发现ListView的同一项数据在不断地重复执行`...

    MVC-ListView-DataModel-master.zip

    MVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master....

    Listview显示网络图片demo--真正简单好用

    3. **适配器(Adapter)的修改**:在ListView的Adapter中,我们需要更新`getView()`方法,以便根据`LazyImageView`的状态加载图片。当一个条目被创建或复用时,我们检查图片是否已经加载,如果没有,就启动加载过程...

    listview控件功能扩展--自定义可编辑列(源码)

    在许多应用程序中,ListView控件被广泛使用,因为它能够提供丰富的功能,如多列、多选择、图标显示等。然而,标准的ListView控件可能不能满足所有需求,特别是对于需要在列表中直接编辑数据的应用来说。因此,对...

    安卓listview相关相关-Android-ListView监听上下滑动.rar

    这个“安卓listview相关相关-Android-ListView监听上下滑动.rar”压缩包可能包含了一些示例代码,教你如何在ListView中监听用户的上下滑动事件,以便实现更多动态交互效果。虽然不能一一验证所有文件,但我们可以...

    安卓listview相关相关-Android--ListView返回第一条数据的实现.rar

    1. **滚动到顶部**:可以通过调用ListView的`smoothScrollToPosition(0)`或`setSelection(0)`方法来实现。`smoothScrollToPosition`会平滑滚动到指定位置,而`setSelection`则直接跳转到指定位置,没有动画效果。在...

    ListView学习(一)-ListView使用例子

    - 数据加载策略:根据需要加载数据,如使用下拉刷新和上拉加载更多功能,减少一次性加载的数据量。 5. **ListView的交互**: - 点击事件:通过设置`OnClickListener`或`OnItemClickListener`监听单个列表项的点击...

    Android-ListView 实现点击侧边A-Z快速查找.zip

    android studio开发app项目 Android-ListView 实现点击侧边A-Z快速查找 Android-ListView 实现点击侧边A-Z快速查找 Android-ListView 实现点击侧边A-Z快速查找

    ListView 实现点击侧边A-Z快速查找.zip

    - 对于大量数据,可以考虑使用分页加载或者懒加载策略,避免一次性加载所有数据导致的内存消耗。 6. **适配不同屏幕尺寸**: - 考虑到不同设备的屏幕大小,可能需要调整侧边栏和列表的宽度比例,保证在不同设备上...

    安卓listview相关相关-android-movies-demo手势交互的listview.rar

    在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本示例"android-movies-demo手势交互的listview.rar"似乎是一个包含了手势交互功能的ListView实现,旨在帮助开发者学习如何为ListView添加...

    Android 实现ListView 3D效果 - 2 - 弹性滚动,Fling

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了增强用户体验和视觉效果,开发者常常会尝试实现一些独特的UI效果,比如3D滚动效果。本篇将深入探讨如何在Android中实现ListView的3D弹性滚动...

    Android--开发--ListView 实现点击侧边A-Z快速查找.rar

    7. **优化性能**: 如果数据量很大,为了避免一次性加载所有数据导致性能问题,可以结合Loader或者RecyclerView的分页加载策略,只加载当前可见区域的数据。 8. **适配API兼容性**: 考虑到Android设备的API版本差异...

    Android应用源码ListView 实现点击侧边A-Z快速查找.zip

    在Android应用开发中,ListView是常用的视图组件,它允许我们展示大量的数据并进行滚动操作。这个压缩包“Android应用源码ListView 实现点击侧边A-Z快速查找”提供了实现了一个功能,即通过点击侧边的字母栏快速定位...

    ListView源码学习!

    - 位置管理:ListView通过Adapter获取到当前位置的数据,然后调用`getView()`生成对应的View。 - 视图缓存:ListView使用了回收池(ScrapHeap)机制,对不再显示的View进行缓存,以减少内存分配和回收的开销。 2....

    Android-ListView 实现点击侧边A-Z快速查找(源码).zip

    Android-ListView 实现点击侧边A-Z快速查找(源码).zip

Global site tag (gtag.js) - Google Analytics