根据文件:
活动可以经常过渡进出 前景 - 例如,当设备进入时调用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();
}
有谁知道为什么这些方法没有被调用? 感谢
答案 0 :(得分:6)
Dialog也是您的活动UI窗口的一部分。所以onPause()
&当您显示或隐藏对话框时,将不会调用onResume()
。
如果你想要onPause()
&显示/隐藏对话框时调用onResume()
,然后在单独的活动中显示该对话框UI,并将该活动作为对话框启动。