मैं "गतिविधि ए" खोलता हूं "गतिविधि ए" तुरंत एक फ्रेगमेंट ट्रांन्सैक्शन
को इस तरह से "टुकड़ा ए" खोलने के लिए करता है:
फ्रेगमेंट ट्रांसजनक्शन टी = एफएम। बीबीटी लेनदेन (); ListFragment f = नया प्रोफाइलफ़्रगमेंट (); T.replace (R.id.main_frag, f, "act_frag"); f.setArguments (args); t.commit (); "टुकड़ा ए" में उस पर एक बटन है जिसे मैं एक नया खंड
("टुकड़ा बी") खोलना चाहूंगा, लेकिन "टुकड़ा ए" बैकस्टैक में - यदि उपयोगकर्ता वापस हिट कर देता है, तो यह अभी भी आसपास है तो मैं यह करता हूं: फ्रेगमेंट ट्रांसजनक्शन टी = एफएम। बीबीटीटीआरएन्सएक्शन (); ListFragment f = नया अनुवर्ती (); स्ट्रिंग उपयोगकर्ता नाम = tvUser.getText ()। ToString (); बंडल आर्ग्स = नया बंडल (); Args.putString ("अनुसरण करें", "देख"); Args.putString ("userprofile", उपयोगकर्ता नाम); Args.putInt ("userIdprofile", userId); f.setArguments (args); टी। रीलेस्ट (आर.आईड.मैन_फ्रैग, एफ, "देखें_फ्रेम"); t.addToBackStack ( "watching_frag"); t.commit ();
मैंने t.addToBackStack (नल) जोड़कर सोचा;
चाल करना होगा; और मैंने इससे पहले ऐसा किया है। लेकिन इसके बजाय, जब उपयोगकर्ता हिट हो जाता है, तो यह "गतिविधि ए" को बंद कर देता है।
डिफ़ॉल्ट रूप से, जब वापस बटन दबाया जाता है, गतिविधि बंद है। मैं सोचता हूं कि आप क्या करने की कोशिश कर रहे हैं, आपको विधि पर ओवरराइड करना होगा और उदाहरण के लिए संभाल करने के लिए कोड जोड़ें:
@BackPressed पर ओनरराइड सार्वजनिक शून्य () {फ्रेगमेंट मैनेजर एफएम = मिलनसारसमर्थन प्रबंधक (); अगर (fm.getBackStackEntryCount () & gt; 0) {एफएम.popBackStack (); वापसी; } Super.onBackpressed (); }
इस तरह, जब वापस दबाया जाता है, तो पहले यह जांचता है कि क्या कोई बैकस्टैक्स एंट्री और पॉपबैक है जब वापस दबाया जाता है, यदि नहीं, तो डिफ़ॉल्ट कार्यवाही कहलाता है।
Comments
Post a Comment