से startActivityForResult का उपयोग करें मेरे पास मुख्य गतिविधि है जो एक गतिविधि और अन्य वर्ग (जो एक साधारण जावा क्लास है) है, हम इसे "सरल क्लास" कहते हैं। अब मैं उस वर्ग से भागना चाहता हूं, कमांड एक्टिविटीफॉर रिसेट।गैर-गतिविधि
अब हालांकि मैं उस कक्षा (सरल क्लास) को पास कर सकता हूं, केवल मुख्य गतिविधि का संदर्भ, समस्या यह है कि, आप संदर्भ नहीं चला सकते हैं .startActivityForResult (...);
इसलिए सरल क्लास को 'startActivityForResult' का उपयोग करने का एकमात्र तरीका;
MainActivity वर्ग के अंदर मैं SimpleClass का उदाहरण इस तरह से बना सकते हैं:
SimpleClass simpleClass=new SimpleClass(MainActivity.this);
अब यह कैसे है SimpleClass कुछ ऐसा करने के लिए एक गतिविधि चर के रूप में MainActivity के संदर्भ पारित करने के लिए है
public Class SimpleClass {
Activity myMainActivity;
public SimpleClass(Activity mainActivity) {
super();
this.myMainActivity=mainActivity;
}
....
public void someMethod(...) {
myMainActivity.startActivityForResult(...);
}
}
अब अपने काम के नहीं है ऐसा करने का एक उचित तरीके से, लेकिन: SimpleClass तरह लग रहा है? मुझे डर है कि भविष्य में मुझे कुछ मेमोरी लीक हो सकती हैं।
धन्यवाद। किरण।
मैं नहीं जानता कि आप क्या करने की कोशिश कर रहे हैं, लेकिन आप को पढ़ना चाहिए [इस] (http://stackoverflow.com/questions/2253088/passing-activity-to-non-activity-object-properly)। – Macarse
ऐसा करने से आप अपने simpleClass अंदर 'onActivityResult' विधि इस्तेमाल कर सकते हैं या आप का इरादा नहीं था? [एक ही समस्या यहाँ ..] (http://stackoverflow.com/questions/25557087/how-to-get-the-result-from-onactivityresult-inside-another-classoutside-of-the/25557182?noredirect = 1 # comment39915501_25557182) –