यह डिज़ाइन द्वारा किया जाता है; सिस्टम गतिविधियां उन अतिरिक्त सुविधाओं को वापस नहीं भेजेंगी जिनके साथ उन्हें बुलाया जाता है, इसलिए आपको कहीं और डेटा प्रबंधित करना होगा।
सौभाग्य से, resultCode
पैरामीटर पूरी तरह से नियंत्रित है, जिसका अर्थ है कि आप इसका उपयोग अपने डेटा को इंडेक्स करने के लिए कर सकते हैं।
private final int PICK_CONTACT = 0;
private Bundle[] myDataTransfer = { null };
...
Bundle myData = new Bundle();
myData.putString(EXTRA_ONLINE_ID, (String) v.getTag());
myDataTransfer[PICK_CONTACT] = myData;
// create intent and all
startActivityForResult(intent, PICK_CONTACT);
...
public void onActivityResult(int reqCode, int resultCode, Intent data) {
if (resultCode == PICK_CONTACT) {
Bundle myData = myDataTransfer[resultCode];
String onlineid = myData.getString(EXTRA_ONLINE_ID);
}
}
मैं एक जावा प्रोग्रामर नहीं कर रहा हूँ, वहाँ बंडल का एक नक्शा लागू करने के लिए एक अच्छा तरीका होना चाहिए, लेकिन यह काम करता है :)
स्रोत
2013-04-18 03:28:42
जांच resultCode Activity.RESULT_OK – Jorgesys
के लिए -1 कि ठीक है होना चाहिए , अगर यह उसमें हो जाता है, लेकिन अतिरिक्त खाली है। – Pentium10