【发布时间】:2016-03-07 13:11:23
【问题描述】:
更新:
澄清一下,show() 是android.app.DialogFragment 的方法,我没有重写:
public void show(FragmentManager manager, String tag) {
mDismissed = false;
mShownByMe = true;
FragmentTransaction ft = manager.beginTransaction();
ft.add(this, tag);
ft.commit();
}
我们调用以下代码,其中MyDialog 扩展DialogFragment:
MyDialog dialog = new MyDialog();
dialog.show(getFragmentManager(), MyDialog.TAG);
Fragment f = getFragmentManager().findFragmentByTag(MyDialog.TAG);
但f 始终是null。为什么?
【问题讨论】:
-
你设置了相同标签的片段吗?
-
请把代码贴在 MyDialog 类的 show() 方法上。
-
@HRaval 据我了解,标签通过 fragmentManager 与片段相关联,如我现在添加的代码所示。
-
使用FragmentTransition添加片段时可以设置标签页...如果没有设置则无法获取