一般的な質問 フラグメントをシングルトンとして定義できますか?
特定の質問
私のアプリケーションには、2 つのフラグメントを持つ 1 つの「FragmentActivity」がFragmentPager
ありFragmentA
、FragmentB
.
FragmentA
extendsFragment
クラスでフラグメントをシングルトンとして定義しました。
private static instance = null;
public static FragmentA getInstance() {
if (instance == null) {
instance = new FragmentA();
}
return instance;
}
private FragmentA() {}
そして私の中でFragmentPagerAdapter
:
@Override
public Fragment getItem(int position) {
switch(position){
Fragment fragment = null;
case 0:
fragment = FragmentA.getInstance();
break;
case 1:
fragment = FragmentB.getInstance();
break;
}
return fragment;
}
そして、これがフラグメントレイアウトを膨らませる方法です:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fragmentView = (RelativeLayout) inflater.inflate(R.layout.fragment_a_layout, container, false);
return fragmentView;
}
私の問題:
アプリを初めて起動すると、すべてがうまく機能します。アプリを閉じてから再起動すると、両方のフラグメントが表示されません。