这是我的代码:
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
未定义的错误。
答案 0 :(得分:4)
请改用DialogFragment.show(FragmentManager manager, String tag)
版本
所以在你的情况下:
protected void showNewsItem(News news) {
DialogFragment newFragment = MyNewsFragment.newInstance();
newFragment.show(getFragmentManager(), "dialog");
}
通常,上述习语足以显示DialogFragment
。
show(FragmentTransaction transaction, String tag)
版本用于"捎带"现有的FragmentTransaction
。