
在我的pageradapter代码中,在switch case中有不同的片段;我已经为该位置添加了一个日志,并且在应用程序初始加载后,位置1似乎没有出现.
我的问题是,为什么这个位置1永远不会被调用?有人可以向我解释一下吗?
这是我的Pageradapter代码:
class PagerAdapter extends FragmentStatePagerAdapter {static HeartRate_Fragment heartRate_fragment;static CalorIE_Fragment calorIE_fragment;static Steps_Fragment steps_fragment;int num;public PagerAdapter(Context context,FragmentManager fm) { super(fm);}@OverrIDepublic Fragment getItem(int position) { //add new fragment here for homepage vIEwpager Log.d("position",position+""); switch (position) { case 0: if(calorIE_fragment == null) calorIE_fragment = new CalorIE_Fragment(); Log.d("flip",0+""); return calorIE_fragment; case 1: if(heartRate_fragment == null) heartRate_fragment = new HeartRate_Fragment(); Log.d("flip",1+""); return heartRate_fragment; case 2: if(steps_fragment == null) steps_fragment = new Steps_Fragment(); Log.d("flip",2+""); return steps_fragment; default: return null; }}@OverrIDepublic int getCount() { return num;}public HeartRate_Fragment getHRFragment(){ return heartRate_fragment;}public CalorIE_Fragment getCalorIE_fragment(){ return calorIE_fragment;}public Steps_Fragment getSteps_fragment(){ return steps_fragment;}解决方法 class PagerAdapter extends FragmentStatePagerAdapter {static HeartRate_Fragment heartRate_fragment;static CalorIE_Fragment calorIE_fragment;static Steps_Fragment steps_fragment;int num;public PagerAdapter(Context context,FragmentManager fm) {super(fm);}@OverrIDepublic Fragment getItem(int position) { //add new fragment here for homepage vIEwpagerLog.d("position",position+"");switch (position) { case 0: if(calorIE_fragment == null){ calorIE_fragment = new CalorIE_Fragment(); return calorIE_fragment; }else { return getCalorIE_fragment(); } case 1: if(heartRate_fragment == null){ heartRate_fragment = new HeartRate_Fragment(); return heartRate_fragment;} else{ return getHRFragment();} case 2: if(steps_fragment == null){ steps_fragment = new Steps_Fragment(); return steps_fragment; } else{ return getSteps_fragment();} default: return null;}}@OverrIDepublic int getCount() {return 3;} public HeartRate_Fragment getHRFragment() { return heartRate_fragment; } public CalorIE_Fragment getCalorIE_fragment() { return calorIE_fragment; } public Steps_Fragment getSteps_fragment() { return steps_fragment; } 试试这个,确保你使用的是getChildFragmentManager();
总结以上是内存溢出为你收集整理的android – 嵌套的Viewpager Fragment没有初始化全部内容,希望文章能够帮你解决android – 嵌套的Viewpager Fragment没有初始化所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)