を避けるためにはされていませんこれらのフラグメントに対してはonCreateView
が再度呼び出されています。私の問題は、これらのフラグメントで実行されているTimer
があることです。これらのタイマーは、関連するフラグメントUIを起動して更新する必要があるため、再作成することはできません。大画面ではHorizontalScrollView
をLinearLayout
と使い、完璧に動作します。FragmentPagerAdapter - 私は<code>FragmentPagerAdapter</code>を使用した場合、現在の1に非隣接しているフラグメントは、自分の意見が破壊持っている(とその<code>onPause()</code>と<code>onStop()</code>メソッドが呼び出され、妙<code>onSaveInstanceState(Bundle)</code>ことに気づいた断片の意見のレクリエーション
私の活動に関連するコード:
private class MyPagerAdapter extends FragmentPagerAdapter implements TitleProvider {
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
if (position == 0) {
return mAddNewScenesFragment;
} else if (position == 1) {
return mGlobalEventsFragment;
} else {
return mSceneFragments.get(position - 2);
}
}
@Override
public int getCount() {
return mSceneFragments.size() + 2;
}
@Override
public String getTitle(int position) {
if (position == 0) {
return "New scene";
} else if (position == 1) {
return mGlobalEventsFragment.getTitle();
} else {
return mSceneFragments.get(position - 2).getTitle();
}
}
}
フラグメントは活動のonCreate
方法で作成され、他は、実行時にリストに追加することができ、それでも新しいものを追加することなく、第三の断片が破壊されます私が最初のものにスクロールするとき。
破壊を避ける方法はありますか、またはViewPager
を忘れて、小さな画面用にHorizontalScrollView
を使用するだけですか?私は「固定」の振る舞いが本当にユーザビリティに役立つと思うので、私はそれを使用することを選択します。
mFragmentPagerAdapter.setOffscreenPageLimit()ではありません。これはmViewPager.setOffscreenPageLimit(numberOfFragments)です。私は間違いをあまりにも多くの人が誇張して驚いています。 –
あなたは正しい@raychenonです。私は私の答えを更新しました。 – Saimon
はい、これは私の問題を解決しました..ありがとう@サイモン – bebosh