我有我的 FragmentActivity :
public class FragmentActivity extends FragmentActivity
{
// ...
protected void onCreate(Bundle savedInstanceState) {
if (savedInstanceState != null) {
myFragment = (MyFragment) getSupportFragmentManager().getFragment(
savedInstanceState, MyFragment.class.getName());
}
else {
myFragment = new Fragment(myObject);
}
}
}
在我的片段中:
public class MyFragment extends Fragment
{
public MyFragment(myObject) {
super();
this.myObject = myObject;
setRetainInstance(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
MyDAO myDAO = new MyDAO (myObject);
}
}
一切正常,除非我关闭我的应用程序,做一些事情(我的应用程序进入后台),然后重新启动我的应用程序。我得到一个 NullPointerException
MyDAO myDAO = new MyDAO (myObject);
其中 myObject 为空。
调用了 savedInstanceState ......我不明白这是如何工作的。
泰