나는 3 개의 fragments part of a navigation drawer
이 있는데, 그 중 하나에는보기 페이지가 있습니다. 앱을 처음로드하면 뷰 페이지는 모든 조각을로드합니다. 그러나 탐색 창을 사용하여 다른 조각으로 전환하고 다시 전환하면보기 페이지 조각 중 하나가로드되지 않습니다. 코드 here과 here을 시도했지만 해결 방법을 찾지 못했습니다.중첩 된 뷰 페이지 조각이 초기화되지 않음
내 pageradapter 코드에서 다른 조각에 대한 스위치 케이스; 나는 위치에 대한 로그를 넣었고 위치 1은 앱의 초기로드 이후에 오지 않는 것 같습니다.
내 질문은, 위치 1이 결코 호출되지 않는 이유는 무엇입니까? 누군가 나에게 설명 할 수 있을까? 당신이 슬쩍에 열린 두 번째 단편 싶어
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);
}
@Override
public 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;
}
}
@Override
public 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;
}
getChildFragmentManager();
을 사용하고 있습니다 :여기 내 Pageradapter 코드입니까? –
내 homefragment에 이미 viewpager가 있습니다. 해당 뷰 페이지에는 3 개의 조각이 있습니다. 두 번째 것은 초기화되지 않습니다. 첫 번째와 세 번째는 있습니다. –
당신은 어떻게 확인하고 있습니까? –