3

これは私のコードです:

protected void showNewsItem(News news) {
    FragmentManager fm = getFragmentManager();
    FragmentTransaction ft = fm.beginTransaction();
    DialogFragment newFragment = MyNewsFragment.newInstance();
    newFragment.show(ft, "dialog");
}

エラーが行This FragmentManager should be recycled after use with #recylce()に表示されbeginTransactionます。

fm.recycle();エラーが示唆するように追加しようとしましたrecycleが、未定義のエラーが発生します。

4

1 に答える 1

4

DialogFragment.show(FragmentManager manager, String tag)代わりにバージョンを使用してください。
だからあなたの場合:

protected void showNewsItem(News news) {
    DialogFragment newFragment = MyNewsFragment.newInstance();
    newFragment.show(getFragmentManager(), "dialog");
}

通常、上記のイディオムは a を表示するのに十分ですDialogFragment

バージョンは、既存のshow(FragmentTransaction transaction, String tag)「ピギーバック」用FragmentTransactionです。

于 2013-04-15T00:29:10.750 に答える