java - Fragment's onActivityResult is not Called -
मेरे दो टुकड़े हैं: होमवर्क लिस्टफ्रैग्मेंट और होमवर्कफ्रैगमेंट। HomeworkFragment होमवर्क फ्रैग्मेंट की एक ऐसी घटना शुरू करेगी, जैसे:
<पूर्व> होमवर्कऑबैक्ट होमवर्क = नया होमवर्कऑब्जेक्ट (); HomeworkLab.get (getActivity ()) addHomework (होमवर्क)। आशय I = नया आशय (getActivity (), होमवर्कपैगर गतिविधि। वर्ग); I.putExtra (होमवर्कफ़्रेग्मेंट.एक्सटीआरए_एचओईएमईओईएमईआरईआरआईडीआईडी, होमवर्क। जीआईडी ()); startActivityForResult (i, REQUEST_DELETE_HOMEWORK_ID);
मेरे HomeworkFragment वर्ग में, मैं चाहता हूं कि उपयोगकर्ता होमवर्ककास्टिंग होमवर्क इशारा के इस उदाहरण को हटाने के लिए विकल्प मेनू में एक बटन प्रेस करने में सक्षम हो, जो होमवर्क स्टोरीमेंट द्वारा होमवर्क फ्रैग्मेंट के लिए दिया गया था।
इसलिए, मुझे जो भी ज़रूरत है, होमवर्क फ्रैग्मेंट के लिए एक ऐसा परिणाम लौटाया जा सकता है जिसके परिणामस्वरूप होमवर्क इंडियाविबेट के होमवर्क ऑब्जेक्ट को होमवर्क लिस्टफ्रैग्मेंट में शामिल किया जा सके ताकि इसे हटाने का प्रबंध किया जा सके:
@Override सार्वजनिक बूलियन ऑनऑप्ट्सइटम चयनित (MenuItem आइटम) {स्विच (item.getItemId ()) {case android.r.id.home: if (NavUtils.getParentActivityName (getActivity ()) = नल) {NavUtils.navigateUpFromSameTask (getActivity ()); } वापस सच; मामले R.id.menu_item_detail_delete_homework: // होमवर्क इन्टेंट हटाना i = नया आशय (); I.putext (EXTRA_DELETE_HOMEWORK_ID, mHomework.getId ()); GetActivity ()। SetResult (गतिविधि। RESULT_OK, i); // getActivity () खत्म ()।; NavUtils.navigateUpFromSameTask (getActivity ()); वापस सच; डिफ़ॉल्ट: वापसी सुपर.ऑनॉप्शन आईटम चयनित (आइटम); }}
मैंने निम्नलिखित पर कोशिश की है लेकिन HomeworkListFragment में onActivityResult कभी नहीं कहा जाता है!
जैसा कि आप देख सकते हैं मैं getActivity () को कॉल करने की कोशिश की। मैंने अन्य पदों में पढ़ा है कि यह सही तरीका नहीं है .. मैंने नेविगेटअपफ्रमसेमटैस्क की भी कोशिश की है .. यह भी गलत है?
यहां पर मेरा होमवर्क लिस्ट फ्रैग्मेंट ऑन एक्टिवेटिव है:
@Override सार्वजनिक शून्य परविशिष्ट रिजल्ट (पूर्णांक अनुरोधकोड, पूर्णांक परिणाम कोड, आशय डेटा) {super.onActivityResult (int अनुरोधकोड, इष्ट परिणामस्वरूप, आशय डेटा); टोस्ट। मेक टेक्स्ट (getActivity (), "यहाँ", टोस्ट। एलएनएनजीएचआईएचओआरएआरटी)। दिखाएं (); यदि (requestcode == REQUEST_DELETE_HOMEWORK_ID) {स्ट्रिंग फाइलनाम = डेटा.getStringExtra (होमवर्कफ़्रगमेंट.EXTRA_DELETE_HOMEWORK_ID); टोस्ट। मेक टेक्स्ट (getActivity (), "आईडी:" + फ़ाइल नाम, टोस्ट। एलएनएनजीएचआईएचओआरटी)। दिखाएं (); }}
अद्यतन करें:
क्या मुझे कॉल करना नहीं चाहिए: NavUtils.navigateUpFromSameTask (getActivity ()); ?
आश्चर्यजनक रूप से, मैं super.onActivityResult (requestCode, resultCode, डेटा) को खो चुका था; < / P>
मैंने पहले गलत रेखा का संदर्भ दिया था और यह समझ नहीं सका कि वह क्यों अब मेरे पास है! लेकिन मुझे दो महीने लग गए ...
Comments
Post a Comment