从品牌网站建设到网络营销策划,从策略到执行的一站式服务
本篇文章为大家展示了Android应用中如何动态加载ViewPager,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联公司专业为企业提供辽中网站建设、辽中做网站、辽中网站设计、辽中网站制作等企业网站建设、网页设计与制作、辽中企业网站模板建站服务,十余年辽中做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
今天做项目时,纠结了很久,动态添加view,刚开始按照其他的adapter处理,但是不会刷新view,来回翻几页,还会view覆盖,最后手动调用adapter的destroyItem和instantiateItem方法,还是不行,最后重写notifyDataSetChanged中removeAllViews和instantiateItem,有点效果,可是还是不理想。最后查询资料要重写PagerAdapter的方法
如下:
public int getItemPosition(Object object) { return POSITION_NONE; }
,然后刷新数据的时候先removeAllViews,然后重新设置数据,最后notifyDataSetChanged,就成了。
但是在重新加载数据的时候notifyDataSetChanged之后会调用destroyItem,这个时候就会出问题,destroyItem记录的views的索引是大于0的,但是重新加载的views的count为1的时候,这是removeView的时候会出现数组越界错误,处理方法就是
@Override public void destroyItem(View arg0, int arg1, Object arg2) { if (getCount() > 1) { ((GridViewPager) arg0).removeView(((GridViewPager) arg0) .getViewList().get(arg1)); } }
做完了,很郁闷,到底是第三方那个的控件,还没有完善,不想其他的Adapter那么好。
上述内容就是Android应用中如何动态加载ViewPager,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图