뒤로 버튼을 누를 때마다 onPause()
이 호출된다는 것은 분명히 잘못된 것이 었습니다. 이제 내 코드에서 나는이 onPause()
이벤트 넣어했습니다뒤로 버튼을 누르면 onPause가 호출되지 않습니까?
@Override
protected void onPause(){
super.onPause();
if(!_END_GAME){
Builder _alert = new AlertDialog.Builder(this)
.setMessage("onPause, with game NOT over!");
_alert.setNeutralButton("OK.",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
arg0.dismiss(); // Kills the interface
System.runFinalizersOnExit(true);
finish();
}
});
_alert.setTitle("Your Score!");
_alert.show();
}
을}
이제 문제는 대화는 코드 오류를 어떻게 - 그래서 - 지금까지 실행하고 있지 않습니다. onPause(
)가 호출 된 곳을 시각화하고 다른 변수 등을 디버깅 할 수 있도록 대화 상자를 배치했습니다. 그러나 나는 심지어 결코 나타나지 않는다고 말했다. 왜 이렇게 될지 모든 아이디어? 뒤로 버튼을 누를 때 onPause()
이전에 실행되는 기능이 있습니까? 정보를 미리 알려 주셔서 감사합니다.
이 사실 활동에
onBackPressed
메소드를 오버라이드 (override)하는 것입니다 Fragment가 더 이상 보이지 않을 때 onPause()는 호출되지 않습니다! 나에게는 같은 문제가 있지만 다른 상황이있다. FragmentManager가 여전히 Fragments를 메모리에 유지할 수있는 것 같습니다. 사용자가 뒤로 버튼을 누르면 Fragment 세트 전체를 바꿔 이전 상태를 표시하면서 FM을 대체 할 수 있습니다. 이렇게하면 해당 단편에 대한 onPause, onStop 및 onDestroy 메소드가 모두 손실 될 수 있습니다. - 내가 실수 한거야? –