如何使用非活动类的对话框?

时间:2014-06-01 07:19:11

标签: java android

我是Android新手,我想打开非活动类的对话框,显示你想要退出吗?否/是

1 个答案:

答案 0 :(得分:2)

如果您在Activity之外的类中有逻辑,并且基于此逻辑您想要显示AlertDialog,则可以执行以下任一操作:

  1. 将Activity实例传递给您的另一个类'方法,以便您可以在AlertDialog.Builder构造函数中使用它(不推荐)
  2. 发送一个BroadcastIntent以供您的活动接收,然后在活动的BroadcastReceiver中,您可以从那里构建您的AlertDialog。
  3. 选项2更清晰,因为通过代码传递Activity实例是非常糟糕的做法。你在问题中提到你是Android的新手,所以如果你不熟悉BroadcastIntent,BroadcastReceiver和AlertDialog.Builder,做一些谷歌搜索和/或留下具体问题的评论,我会更新我的答案。

    编辑回应评论

    您不应该以您描述的方式公开Activity中的公共方法。您的活动中的逻辑应该是决定何时显示警告框,并且不应该从应用程序的其他位置告知这样做。更好的问题是:你从哪里打电话给这个?

    另外,需要注意的一件事是:在StackOverflow上询问有关应用程序崩溃的问题时,请始终从LogCat发布错误和堆栈跟踪。