出现对话框时不调用OnResume

时间:2015-07-24 09:56:14

标签: android android-activity lifecycle

根据文件:

  

活动可以经常过渡进出   前景 - 例如,当设备进入时调用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();

}

有谁知道为什么这些方法没有被调用? 感谢

1 个答案:

答案 0 :(得分:6)

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

如果你想要onPause()&显示/隐藏对话框时调用onResume(),然后在单独的活动中显示该对话框UI,并将该活动作为对话框启动。