【问题标题】:How to force lifecycle from onPause to onResume如何强制生命周期从 onPause 到 onResume
【发布时间】:2012-07-04 09:46:01
【问题描述】:

我正在尝试通过使用对话框强制我的 Android 应用程序从 onPause 方法直接转到 onResume 方法。

我在实现 OnClickListener 的 FirstActivity 类的 onClick 方法中有以下代码:

Dialog dialog = new Dialog(this);

dialog.setContentView(R.layout.newlayout);
dialog.setTitle("This is my custom dialog box");
dialog.setCancelable(true);
dialog.show();

我已经设置了每个生命周期方法,以便在 Android 应用进入每个方法时打印出一条日志消息:

Log.i(ActivityName, " onCreate");
Log.i(ActivityName, " onPause");
Log.i(ActivityName, " onResume");

等等..

当我单击按钮以显示对话框时,对话框显示得很好,但我没有收到任何日志消息表明在显示对话框时正在调用 onPause,并且我没有收到任何关于 onResume 的日志消息按下手机上的“返回”按钮以退出对话框时正在调用方法。

我做错了什么?

【问题讨论】:

标签: android onresume android-lifecycle onpause


【解决方案1】:

Dialog 始终作为Activity 的一部分创建和显示(查看对话框中的this article)。这就是为什么不调用您的 Activity 方法 onResumeonPause 的原因。当显示Dialog 时,您的Activity 仍处于运行状态。

【讨论】:

  • 所以我必须在对话框中启动一个新的Activity?
  • 在这种情况下,是的。只需创建一个新 Activity 并将其声明为清单中的对话框:Activity as a dialog
猜你喜欢
  • 2013-10-04
  • 2015-05-13
  • 2012-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多