【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的宽高!

你可能感兴趣的:(ListView,getView,多次调用,ActivityGroup)