Android应用中如何动态加载ViewPager

本篇文章为大家展示了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,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


网站名称:Android应用中如何动态加载ViewPager
文章出自:http://myzitong.com/article/poosdp.html