2011-12-07 12 views
6

मैं बाहरी गतिविधि में किसी गतिविधि के संदर्भ का उपयोग करके एक गतिविधि से डेटा को पास करने के लिए प्रारंभ गतिविधि को कॉल कर रहा हूं।प्रारंभिकता गतिविधि के नए उदाहरण को हर बार

यह कैसे मैं आशय बनाने का एक उदाहरण भेजा जा रहा है:

mContext.startActivity(mIntent); 

संपादित करें: क्षमा करें, मैं में गलत था

public static Intent createSearchIntent(Context context, Class<?> cls) { 
    Intent i = new Intent(ACTION_SEARCH, null, context, cls); 
    return i; 
} 

यह कैसे मैं एक गतिविधि शुरू क्या होता है। जब मैं स्टार्ट एक्टिविटी को कॉल करता हूं तो गतिविधि नष्ट नहीं होती है, हालांकि जिस गतिविधि को मैं हमेशा के लिए इरादा भेज रहा हूं, वह है, जिसे मैं कहता हूं, इसलिए मैं अनुमान लगा रहा हूं कि रोके गए/बंद किए गए एक पर लौटने की बजाय गतिविधि का एक नया उदाहरण बनाया जा रहा है।

मैं इसे कैसे बदल सकता हूं ताकि मैं केवल रुका हुआ/बंद गतिविधि पर वापस आ सकूं?

+1

यह तब तक आपकी गतिविधि को समाप्त नहीं करना चाहिए जब तक कि संसाधन संसाधनों पर कम न हो। अपना कोड शामिल करने के लिए कृपया अपना प्रश्न संपादित करें। –

+0

आप कैसे कह सकते हैं कि आपकी गतिविधि नष्ट हो गई है? क्या आपने उस गतिविधि के लिए लॉगकैट में स्टैकट्रैक देखा था? – user370305

उत्तर

8

यह है जब आप झंडे उपयोग करने की आवश्यकता है:

यह गतिविधि जीवन चक्र है। स्टैक के शीर्ष पर वापस आने के लिए पहले से शुरू की गई गतिविधि को बनाने के लिए आपको अपने इरादे पर i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); ध्वज जोड़ने की आवश्यकता है और फिर उस गतिविधि को शुरू करें- startActivity(i) 'i' का इरादा नाम है।
अन्य झंडे की एक सूची के लिए here देखें।

+0

यह वही है जो मुझे चाहिए, धन्यवाद! – ayelder

+0

धन्यवाद। यह मेरे लिए काम किया। –

4

गतिविधि ए से कॉलिंग गतिविधि बी डिफ़ॉल्ट रूप से गतिविधि ए को नष्ट नहीं करता है, जो आप देखते हैं गतिविधि ए पर गतिविधि ए, स्क्रीन ओवरलैपिंग पर प्रदर्शित होता है। आप Back बटन दबाकर जांच सकते हैं। http://developer.android.com/reference/android/app/Activity.html

+0

क्षमा करें, आप सही हैं। मैंने इसे प्रतिबिंबित करने के लिए अपना प्रश्न बदल दिया। – ayelder

संबंधित मुद्दे