如何在Android自定义应用程序类中显示对话框片段?

时间:2012-01-04 19:22:39

标签: android dialog

我的Android应用程序需要在首次使用该应用程序时显示一个对话框。此应用程序还使用扩展Androids Application类的自定义Application类。我想在此对话框中使用DialogFragment(因为文档声明不推荐使用showDialog()方法),并在我的自定义Applicaton类的onCreate()方法中显示此DialogFragment。显示DialogFragment的代码如下:

FragmentManager manager = getSupportFragmentManager();
DialogFragment firstUseDialog = new FirstUseDialog();
firstUseDialog.show(manager, "dialog");

但getSupportFragmentManager()方法在Application类中不可用,仅在Activity类中可用。所以我的问题是,是否有另一种方法来显示Application类的对话框。

我总是可以将第一个使用代码移动到我的主要活动中,但我只想检查是否可以在Activity类中执行。我觉得应用程序首次使用检查应该是Application类的一部分而不是Activity类。

2 个答案:

答案 0 :(得分:2)

  

但getSupportFragmentManager()方法在Application类中不可用,只在Activity类中可用。

getSupportFragmentManager()也无法从Activity获得。它可以从Android支持包的FragmentActivity获得。

  

所以我的问题是,是否有另一种方法可以显示Application类的对话框。

不那样。

  

我觉得应用程序首次使用检查应该是Application类的一部分而不是Activity类。

您当然欢迎您的意见。恕我直言,显示UI是一项活动的责任,只是一项活动。这种情况恰好仅在第一次使用应用程序时发生,这并不会改变这种情况。

答案 1 :(得分:0)

如果你的班级有对象上下文试试这个方法

(FragmentActivity)context).getSupportFragmentManager()