Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题
2017-07-09 15:09
1156 查看
前言
之前在做一个Viewpager上面加载多个Fragment时总会实例化已经创建好的Fragmnet对象类似
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { switch(position){ case 0: fragments=new Fragmnet01(); break; case 1: fragments=new Fragmnet02(); break; ..... } return fragments; } @Override public int getCount() { return listTabs.size(); } });
其实仔细想一下,这样是很不合理的,首先你一直实例化对内存是一种浪费另外Viewpager具有预加载性当我们加载某一个Fragmnet时它就会把它的左边和右边都会加载(开头和结尾例外。)所以为了防止重复加载浪费资源,我们可以使用一个对象数组来加载fragment,当每次位置为空的时候我们就可以在该位置上面加载一个布局具体代码
//定义一个对象数组并给定长度 fragments=new MyFragment[listTabs.size()]; viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) { @Override public Fragment getItem(int position) { //在这里判断如果Fragmnet[position]当前页面没有加载的话我们再次在上面加载 if(fragments[position]==null){ //这里只是写一个构造方法把值传到fragment里面 MyFragment my = MyFragment.getInstance(listTabs.get(position).getId()); fragments[position]=my; } return fragments[position]; } @Override public int getCount() { return listTabs.size(); } });
在fragment里面当然你也可以用bundler来传值。
public static MyFragment getInstance(int id){ MyFragment myFragment=new MyFragment(); Bundle bundle=new Bundle(); bundle.putInt("id",id); myFragment.setArguments(bundle); return myFragment; }
以上所述是小编给大家介绍的Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
您可能感兴趣的文章:
- Android使用TabLayou+fragment+viewpager实现滑动切换页面效果
- Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能
- 微信浏览器弹出框滑动时页面跟着滑动的实现代码(兼容Android和IOS端)
- Android viewpager在最后一页滑动之后跳转到主页面的实例代码
- Android应用中利用ViewPager实现多页面滑动切换效果示例
- Android仿今日头条滑动页面导航效果
- Android编程实现ViewPager多页面滑动切换及动画效果的方法
- Android使用Fragment打造万能页面切换框架
- Android中TabLayout结合ViewPager实现页面切换效果
- Android中使用TabHost 与 Fragment 制作页面切换效果
- Android实现页面滑动切换动画
相关文章推荐
- 解决Fragment +Viewpager滑动页面重复加载的问题
- Android开发ViewPager的预加载和Fragment的销毁问题,以及tabLayout+ViewPager的使用,tablayout平板适配问题解决
- android 布局 使用 viewPager 时,如何解决 和 子页面 长按滑动 冲突问题
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- Android开发之ViewPager结合Fragment实现滑动页面的效果(源代码分享)
- 【Android】解决RadioButton+FragmentPagerAdapter+Fragment切换页面数据加载的问题
- Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案
- 解决Android开发中ViewPager动态设置PagerAdapter时第二次进入Fragment内容不显示的问题
- 【Android 应用开发】Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- android 解决fragment+viewpager+fragment滑动卡顿的问题
- fragment加载webView与ViewPager所带来的滑动冲突问题解决方法
- Android 解决ViewPager+Fragment懒加载的问题
- 解决在android开发中ViewPager中Gallery无法滑动问题
- 解决Android开发中ViewPager动态设置PagerAdapter时第二次进入Fragment内容不显示的问题
- viewPager 页面切换时 fragment重新加载问题
- Android开发之ViewPager滑动页面效果实现(源代码分享)
- Android中使用ViewPager制作广告栏效果 - 解决ViewPager占满全屏页面适配问题
- Android开发中如何解决加载大图片时内存溢出的问题