出现对话框时不调用OnResume

the*_*ard 3 lifecycle android android-activity

根据文件:

活动可以频繁地进出前台 - 例如,当设备进入睡眠状态或出现对话框时,会调用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();

}
Run Code Online (Sandbox Code Playgroud)

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

Aud*_*bar 6

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

如果你想onPause()onResume()当你显示/隐藏对话框被调用,然后显示在一个单独的活动,对话UI,并启动该活动的对话框.