私は3つのfragments part of a navigation drawer
を持っています。そのうちの1つにはビューページャーが含まれています。最初にアプリケーションを読み込むと、ビューページはすべてのフラグメントを読み込みます。しかし、私がナビドロワーを使って別のフラグメントに切り替えると、私は戻って、ビューページのフラグメントの1つが読み込まれていません。私はコードhereとhereを試しましたが、私は解決策を考え出すことができません。ネストしたビューページのフラグメントが初期化されない
私のpageradapterコードでは、異なるフラグメントのスイッチケースです。私は位置のログを入れて、位置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);
}
@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;
}
を使用していることを確認してみてください? –
私のhomefragmentにはすでにビューページが含まれています。そのビューページには3つのフラグメントが含まれています。その中で、2番目のものは初期化されていません。第1と第3があります。 –
どうやって確認していますか? –