安卓引导页划动中页面消失、异常退出问题

来源:互联网 发布:百度网络硬盘登陆 编辑:程序博客网 时间:2024/06/05 10:15

引导页使用android.support.v4.view.ViewPager实现,划动中出现,子view已有父view的异常,在adapter中增加了view是否有父view的判断,程序不再异常了,但是划动中发现有些页面会空白,好像资源没有加进去,查了好久才发现,所有的问题来源两个地方

1.在destroyItem中,

public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(splash_list.get(position));
}

不能写为container.removeViewAt(position);

因为这里的position参数,并不是子view在container里的位置,而是splash_list是view所在的位置,如果用错,就会出现,该销毁的view没有被销毁(出现子view已有父view异常),不该销毁的view被销毁(出现空白情况)。

2.在instantiateitem中

public Object instantiateItem(ViewGroup container, int position) {
View v = splash_list.get(position);
ViewGroup parent = (ViewGroup) v.getParent();
if (null != parent) {
parent.removeView(v);
}
container.addView(v,0);
return v;
}

新加进来的view必须从列表中获取,加入container里,可加入子view是否有父view的判断,但是只要destroyitem写对了,这个判断是没有意义的。

0 0
原创粉丝点击