13

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

मैंने एक मुख्य गतिविधि (-> ए) बनाई है, जिसमें 4 बटन हैं। 4 बटनों में से एक एक्स्टिट-बटन है।

मैं एक्स्टिट-बटन के क्लिक पर एक और गतिविधि (-> बी) शुरू करता हूं। यह 'ए'एक्टिविटी' के इरादे से 'बी'एक्टिविटी' खोलता है।

गतिविधि 'बी' में शामिल है - क्या आप बाहर निकलना चाहते हैं? हाँ-बटन & नो-बटन।

यदि मैं बटन (-) बटन पर क्लिक करता हूं - यह 'बी'एक्टिविटी' से बाहर निकलता है। मैं 'बी' & 'ए' खत्म करना चाहता हूं।

मैंने एफिनिश() -> भी कोशिश की है और यह वाक्यविन्यास/अर्थात् त्रुटि में परिणाम नहीं मिलता है।

मैं यहां सहायता की सराहना करता हूं।

पीएस: मैं एंड्रॉइड 2.2 संस्करण फोन का उपयोग कर रहा हूं, और मैं इसे हल करने के लिए ActivityManager का उपयोग करना पसंद नहीं करता।

उत्तर

36

कोशिश

startActivityForResult(intent, REQUEST_EXIT); 

के साथ बच्चे गतिविधि शुरू करने के लिए माता-पिता गतिविधि

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

    if (requestCode == REQUEST_EXIT) { 
     if (resultCode == RESULT_OK) { 
      this.finish(); 

     } 
    } 
} 
+0

इससे मदद मिली - बहुत बहुत धन्यवाद !! – sudhishkr

+0

क्या यह काम करता है यदि अभिभावक गतिविधि प्रकट नहीं होती है। मेरा मतलब है कि मेरे पास एक बटन है जो एक और गतिविधि शुरू करता है। इस बटन पर क्लिक करें मैं भी वर्तमान गतिविधि और उसके माता-पिता – hasan83

+0

को जीतने के लिए जीतता हूं यह विधि तब तक काम करेगी जब तक कि प्रारंभिक गतिविधि में प्रारंभिक गतिविधि में बाल गतिविधि शुरू की गई थी, और एक्टिविटी रिसेट को माता-पिता में परिभाषित किया गया है। –

6

गतिविधि में उपयोग startActivityForResult() एक शुरू करने के लिए गतिविधि बी और एक बस finish() गतिविधि ए गतिविधि बी में में onActivityResult() बटन पर बस finish()गतिविधि बी दबाया।

+0

धन्यवाद जॉर्जी ने इसे समझाया है - मैंने अपना कोड अनुभाग मेरा उपयोग किया है। – sudhishkr

5

आप की तरह बच्चे गतिविधि से माता-पिता गतिविधि समाप्त कर सकते हैं में बच्चे गतिविधि

case R.id.quit: 
    setResult(RESULT_OK, null); 
    finish(); 

में ...

अभिभावक ....

startActivityForResult(new Intent(Parent.this, Child.class), ACTIVITY_CONSTANT); 

और माता-पिता में OnActivityForResult (...) विधि को ओवरराइड करें।

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode == ACTIVITY_CONSTANT) 
    { 
     finish(); 
    } 
} 

जब आप बच्चे की गतिविधि पर फिनिश() को कॉल करते हैं, तो यह माता-पिता को भी समाप्त करता है।

+0

धन्यवाद - यह काम करता है – sudhishkr

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