首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

关于ViewGroup 中listview 跟GridView数据不能动态更新的解决

2013-10-25 
关于ViewGroup 中listview 和GridView数据不能动态更新的解决在网上找了一份模仿系统Launcher的代码,是一

关于ViewGroup 中listview 和GridView数据不能动态更新的解决

在网上找了一份模仿系统Launcher的代码,是一个继承看碟ViewGroup的自定义组件,可以左右划屏,效果与QQ,微信之类的软件第一次启动时欢迎帮助效果类似.但是发现一问题,我在上面加了GridView,数据只有在程序启动时才能载入,启动后无法动态更新了,费了几个小时,终于找到解决方法



@Overrideprotected void onLayout(boolean changed, int l, int t, int r, int b) {// TODO Auto-generated method stub// if (changed) {                int childLeft = 0;                final int childCount = getChildCount();                                for (int i=0; i<childCount; i++) {                    final View childView = getChildAt(i);                    if (childView.getVisibility() != View.GONE) {                        final int childWidth = childView.getMeasuredWidth();                        childView.layout(childLeft, 0,                                 childLeft+childWidth, childView.getMeasuredHeight());                        childLeft += childWidth;                    }                }    //        }    }

把if(change)注释掉即可.

热点排行