最近做的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的宽高!
分享到:
相关推荐
然而,有时开发者会遇到`getView()`被多次调用的情况,这可能会导致性能问题或者预期效果无法实现。下面我们将深入探讨`getView()`的调用机制、多调用周期的原因以及如何优化。 1. **`getView()`的调用机制** `...
在某些情况下,`getView()` 可能会被多次重复执行,这不仅可能导致性能下降,还可能引起一些预期之外的行为,比如多次触发监听器。 在描述中提到的问题,开发者在测试时发现ListView的同一项数据在不断地重复执行`...
MVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master.zipMVC-ListView-DataModel-master....
3. **适配器(Adapter)的修改**:在ListView的Adapter中,我们需要更新`getView()`方法,以便根据`LazyImageView`的状态加载图片。当一个条目被创建或复用时,我们检查图片是否已经加载,如果没有,就启动加载过程...
在许多应用程序中,ListView控件被广泛使用,因为它能够提供丰富的功能,如多列、多选择、图标显示等。然而,标准的ListView控件可能不能满足所有需求,特别是对于需要在列表中直接编辑数据的应用来说。因此,对...
这个“安卓listview相关相关-Android-ListView监听上下滑动.rar”压缩包可能包含了一些示例代码,教你如何在ListView中监听用户的上下滑动事件,以便实现更多动态交互效果。虽然不能一一验证所有文件,但我们可以...
1. **滚动到顶部**:可以通过调用ListView的`smoothScrollToPosition(0)`或`setSelection(0)`方法来实现。`smoothScrollToPosition`会平滑滚动到指定位置,而`setSelection`则直接跳转到指定位置,没有动画效果。在...
- 数据加载策略:根据需要加载数据,如使用下拉刷新和上拉加载更多功能,减少一次性加载的数据量。 5. **ListView的交互**: - 点击事件:通过设置`OnClickListener`或`OnItemClickListener`监听单个列表项的点击...
android studio开发app项目 Android-ListView 实现点击侧边A-Z快速查找 Android-ListView 实现点击侧边A-Z快速查找 Android-ListView 实现点击侧边A-Z快速查找
- 对于大量数据,可以考虑使用分页加载或者懒加载策略,避免一次性加载所有数据导致的内存消耗。 6. **适配不同屏幕尺寸**: - 考虑到不同设备的屏幕大小,可能需要调整侧边栏和列表的宽度比例,保证在不同设备上...
在Android开发中,ListView是一个非常重要的组件,常用于展示大量数据列表。本示例"android-movies-demo手势交互的listview.rar"似乎是一个包含了手势交互功能的ListView实现,旨在帮助开发者学习如何为ListView添加...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了增强用户体验和视觉效果,开发者常常会尝试实现一些独特的UI效果,比如3D滚动效果。本篇将深入探讨如何在Android中实现ListView的3D弹性滚动...
7. **优化性能**: 如果数据量很大,为了避免一次性加载所有数据导致性能问题,可以结合Loader或者RecyclerView的分页加载策略,只加载当前可见区域的数据。 8. **适配API兼容性**: 考虑到Android设备的API版本差异...
在Android应用开发中,ListView是常用的视图组件,它允许我们展示大量的数据并进行滚动操作。这个压缩包“Android应用源码ListView 实现点击侧边A-Z快速查找”提供了实现了一个功能,即通过点击侧边的字母栏快速定位...
- 位置管理:ListView通过Adapter获取到当前位置的数据,然后调用`getView()`生成对应的View。 - 视图缓存:ListView使用了回收池(ScrapHeap)机制,对不再显示的View进行缓存,以减少内存分配和回收的开销。 2....
Android-ListView 实现点击侧边A-Z快速查找(源码).zip
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。在处理大量数据时,为了提高用户的搜索效率,我们常常需要实现类似通讯录那样的A-Z快速查找功能。这个"ListView 实现点击侧边A-Z快速查找"的...
在Android开发中,ListView是一种常见的UI组件,常用于展示大量数据列表。然而,有时我们不仅需要展示线性数据,还可能需要构建树形结构的数据视图,这时可以通过自定义ListView来实现。本教程将深入讲解如何基于...