3

私は 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 は null です。

savedInstanceState が呼び出されます...これがどのように機能するのかわかりません。

タイ

4

1 に答える 1