【发布时间】:2016-04-18 02:28:01
【问题描述】:
在我的自定义视图中,我有一个运行简单游戏的 Java 类。游戏结束后,我想显示我的DialogFragment,但getFragmentManager() 方法似乎未定义。
FragmentManager manager = getFragmentManager();
Finish finish = new Finish();
finish.show(manager, "done");
我尝试通过Fragment obj 让经理成为:
Fragment fragment = new Fragment();
FragmentManager manager = fragment.getFragmentManager();
但是返回为空。我知道这是一个新的Fragment 实例,但我不确定要赋予它什么价值。任何帮助将不胜感激。
【问题讨论】:
-
您的
View不应直接与FragmentManager交互。相反,创建一个您的Activity可以实现的接口,通过该接口您的View可以发出游戏完成的信号,并在Activity的接口方法中执行FragmentTransaction。 -
那么类似于父视图中的静态方法,并调用它来表示游戏完成(并在那里继续我的片段)?
-
没有。如果没有一些不稳定的参数中继,您将无法从
static方法访问FragmentManager。使用interface。 -
好吧,我只是对如何发出信号有点模糊。因此,如果我制作接口,并在 Activity 中实现它,我的 View 将如何使用该接口向 Activity 发出信号?
-
非常感谢它现在工作得很好!
标签: java android android-fragments