【问题标题】:OnResume is not called when a dialog appears [duplicate]出现对话框时不调用 OnResume [重复]
【发布时间】:2015-10-14 22:45:39
【问题描述】:

根据文档:

一个活动可以频繁地进出 前景——例如,当设备进入时调用 onPause() 睡眠或出现对话框时。

我有一个带有按钮的活动。当我点击按钮时,会出现一个对话框。我希望在对话框出现时调用 onPause 方法,然后在关闭对话框时调用 onResume 方法。但是没有一个被调用。

    findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            MyDialog myDialog = new MyDialog();
            myDialog.show(getFragmentManager(),myDialog.TAG);


        }
    });

@Override
protected void onResume() {
    super.onResume();

    Toast.makeText(this,"ON RESUME ACTIVITY",Toast.LENGTH_SHORT).show();

}

@Override
protected void onPause() {
    super.onPause();

    Toast.makeText(this,"ON PAUSE ACTIVITY",Toast.LENGTH_SHORT).show();

}

有谁知道为什么不调用这些方法? 谢谢

【问题讨论】:

  • activity 开启时调用Resumed not in dialog
  • this。它应该回答你的问题。

标签: android android-activity lifecycle


【解决方案1】:

对话框也是活动 UI 窗口的一部分。所以onPause() & onResume() 在显示或隐藏对话框时不会被调用。

如果您希望在显示/隐藏对话框时调用 onPause()onResume(),则在单独的活动中显示该对话框 UI,并将该活动作为对话框启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多