यह मेरी समझ थी, स्पष्ट रूप से गलत, 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()
से पहले लॉन्च किया गया है जब बैक बटन दबाया जाता है? किसी भी जानकारी के लिए अग्रिम धन्यवाद।
यह सच है है ऑन पॉज़() 'को तब नहीं कहा जाता है जब एक टुकड़ा अब दिखाई नहीं दे रहा है! मुझे एक ही समस्या है, लेकिन एक अलग स्थिति है। ऐसा लगता है कि FragmentManager अभी भी स्मृति में टुकड़े टुकड़े कर सकते हैं। जब उपयोगकर्ता बैक बटन हिट करता है, तो वह एफएम को सुपरसीड कर सकता है, फ्रेगमेंट्स के पूरे सेट को स्वैप कर सकता है और पिछली स्थिति प्रदर्शित कर सकता है। यह उन Fragments के लिए सभी ऑन पॉज़, ऑनस्टॉप, और ऑनस्ट्राय विधियों को याद कर सकता है। - क्या मैं गलत हूँ? –