【发布时间】:2013-04-19 09:12:44
【问题描述】:
我有我的 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);
}
}
除了当我关闭我的应用程序、做一些事情(我的应用程序进入后台)然后重新启动我的应用程序之外,一切正常。 我在
上收到 NullPointerExceptionMyDAO myDAO = new MyDAO (myObject);
其中 myObject 为空。
savedInstanceState 被调用...我不明白它是如何工作的。
TY
【问题讨论】:
-
也许这对你有帮助。 stackoverflow.com/questions/8474104/…
标签: android instance fragment reload