यह दो दिनों से मुझे मार रहा है। मेरे पास एक मुख्य गतिविधि ए है जो दूसरी गतिविधि बी कहता है। गतिविधि बी बस उपयोगकर्ता को एक सूचीदृश्य के साथ प्रस्तुत करता है। जब मैं सूची दृश्य पर कोई आइटम दबाता हूं, तो मैं चाहता हूं कि कुछ स्ट्रिंग्स को मुख्य गतिविधि ए और एक्टिव बी पर समाप्त कर दिया जाए।Android onActivityResult हमेशा 0
समस्या यह है कि मुझे हमेशा 0 का परिणाम कोड मिलता है और डेटा बंडल शून्य होता है। मैं वास्तव में समझ में नहीं आता कि यह क्यों हो रहा है।
मेरा कोड यहां है।
परिणाम के लिए प्रारंभ गतिविधि बी;
Test.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(recipeActivity.this, BrowseLoadRecipes.class);
startActivityForResult(i, RECIPE_CHOOSER);
}
});
यह दूसरी गतिविधि ठीक शुरू करता है। गतिविधि बी एक सूचीदृश्य को पॉप्युलेट करता है और जब मैं किसी आइटम पर क्लिक करता हूं तो मैं कॉलिंग गतिविधि ए
इस समय कोई भी पाठ भेजता हूं, इसलिए मैंने गतिविधि बी में निम्नलिखित का उपयोग किया;
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
Bundle bundle = new Bundle();
bundle.putString("TEXT", "Please work... pleeeeaasee");
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
}
});
कॉलिंग गतिविधि में मेरे पास निम्नानुसार वापसी के लिए निम्नलिखित सुनना है;
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
switch(requestCode) {
//TODO
case RECIPE_CHOOSER:
Toast.makeText(getApplicationContext(), "In recipe return", Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), "resultCode is " + String.valueOf(resultCode), Toast.LENGTH_SHORT).show();
if (resultCode == RESULT_OK) {
Bundle b = getIntent().getExtras();
Toast.makeText(getApplicationContext(), "Returned " + b.getString("TEXT"), Toast.LENGTH_LONG).show();
}
if (resultCode == RESULT_CANCELED) {
}
break;
}
}
}
मैं देख सकता हूँ कि अनुरोध कोड सही तरीके से दिया जाता है, लेकिन resultcode हमेशा एक 0 और डेटा हमेशा एक रिक्त है।
मैं डिबग के माध्यम से भाग गया है और setResult अपना काम कर रहा है और बंडल वास्तव में डेटा मैं गुजर रहा हूँ है, लेकिन यह रास्ते में कुछ बिंदु पर खो जाता है।
क्या मैनिफेस्ट में कुछ ऐसा है जो मुझे याद आ रहा है या कुछ। इस परियोजना पर अब तक मेरी प्रगति हुई है।
किसी भी मदद की सराहना की जाएगी।
धन्यवाद, डीन
मुझे लगता है कि यह काम करने जा रहा है। मैं इसे अभी आज़माउंगा और आपको पांच मिनट में वापस ले जाऊंगा। उत्तर के लिए धन्यवाद। – Dean
डेव ... अगर मैं अभी तुम्हारे साथ था तो मैं आपको प्यारा ठंडा पिंट खरीदूंगा। यह पूरी तरह से काम किया। धन्यवाद फिर से ... – Dean
इस बारे में सोचने के बाद अब मुझे पता है कि मेरा मूल कोड क्यों काम नहीं कर रहा था। जिस उद्देश्य का मैं पहले आग लगाता हूं (गतिविधि बी) वास्तव में केवल एक फ्रंट टैब धारक इरादा है जो दो अलग-अलग टैबों पर दो और इरादे शुरू करता है (स्थानीय टैब देखने के लिए पहला टैब, वेब स्थित फ़ाइलों को देखने के लिए दूसरा)। मुख्य वापसी का इरादा पहला इरादा होना चाहिए था, इसलिए डेविस उत्कृष्ट उत्तर मुझे माता-पिता को वापस क्यों इंगित करता है। मैं आज रहता था और लीयर करता था। – Dean