这是我的代码:
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
未定义。
最佳答案
改为使用 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
。
关于java - 这个 FragmentManager 在使用 #recylce() 后应该被回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15999761/