【发布时间】:2013-01-28 03:34:43
【问题描述】:
一般问题 我可以将片段定义为单例吗?
具体问题
在我的应用程序中,我有一个带有 FragmentPager 的“FragmentActivity”,它有两个片段,FragmentA 和 FragmentB。
我在FragmentA 扩展Fragment 类中将片段定义为单例:
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;
}
我的问题:
当我第一次启动我的应用程序时,一切正常。 当我关闭我的应用然后重新启动它时,我没有看到这两个片段。
【问题讨论】:
-
什么是私有静态实例?我相信这是一个错误,呵呵..我的工作正常
标签: android android-fragments android-viewpager android-fragmentactivity