दिलचस्प पोस्ट
स्ट्रिंग में बाश होता है लिनक्स कर्नेल: सिस्टम कॉल hooking उदाहरण पसंद और इन स्थितियों के साथ पैरामीटर वाली क्वेरीज़ असाइनमेंट पूर्णांक से बिना कलाकारों के सूचक बनाता है पहलू-उन्मुख प्रोग्रामिंग क्या है? AngularJS: कैसे एक jsonp अनुरोध बनाने के लिए आप माइक्रोसॉफ्ट एसक्यूएल सर्वर में अनुक्रम कैसे लागू करेंगे? आपको इस गतिविधि के साथ थीम। ऐप कॉमपेट थीम (या वंश) का उपयोग करना होगा तत्वों के सेट में एक विशेषता का न्यूनतम मूल्य खोजने के लिए मैं कैसे XPath का उपयोग कर सकता हूं? IOS या OSX पर सक्रिय इंटरनेट कनेक्शन की जांच कैसे करें? std :: cin.getline () बनाम std :: cin जावा आयात कैसे काम करता है? क्लास के बाहर एक स्थिर डेटा सदस्य को परिभाषित करने की आवश्यकता क्यों है? कक्षा के लिए सीएसएस 3 एनटी प्रकार प्रतिबंधित केवल एक HTML तालिका के लिए शीर्ष पंक्ति रुकें (फिक्स्ड टेबल हैडर स्क्रॉलिंग)

एंड्रॉइड: एक गतिविधि की वापसी पर कब्जा

मेरे पास नई गतिविधियों को लॉन्च करने के बारे में एक सवाल है। यह इस के लिए नीचे फोड़े मेरे पास एक दृश्य पर 3 टैब हैं

A) contains gMap activity B) camera activity C) some random text fields. 

आवश्यकता है कि यह अनुप्रयोग पोर्ट्रेट मोड में चलता है।

सभी 3 टैब अपेक्षित w / कैमरे पूर्वावलोकन सतह (बी) के अपवाद के रूप में कार्य करते हैं। यह 90 डिग्री घूमता है वे इसे सही बनाने का एकमात्र तरीका ऐप को ऐसे परिदृश्य में सेट करना है जो मेरे सभी टैब को चारों ओर फेंकता है, और बहुत ज्यादा अप्रभावी है

मेरा समाधान यह है: प्रतिस्थापित करें

एक नियमित गतिविधि के साथ मेरा कैमरा गतिविधि जो खाली w / के अपवाद है

 Intent i = new Intent(this,CameraActivity.class); startActivity(i); 

यह मेरी कैमरा ऐक्टिविटी लॉन्च करता है और यह ठीक काम करता है मुझे एक रैखिक लेआउट करना था और वास्तविक चित्रों की तरह दिखने वाले 3 छवियों को शामिल करना था, इसलिए मैं परिदृश्य में स्क्रीन को घूर्णन करते समय टैब के संचालन की नकल कर सकता हूं और दृश्य को चित्र के रूप में रख सकता हूं अगला टैब प्रदर्शित करने के लिए उपयोगकर्ता छवियों (बटन) में से एक पर क्लिक कर सकते हैं। यह मेरा मुद्दा है यह मेरे 'कैमरा गतिविधि' को एक टैब में 'रिक्त गतिविधि' पर वापस आना चाहिए, जहां मेरी छवि से डिस्रिड टैब पर क्लिक करने के लिए इसकी व्याख्या की जानी चाहिए।

मुख्य बात यह है, जब वह वापस आती है, तो यह टैब के नीचे एक रिक्त (काला) पृष्ठ पर लौट जाती है (क्योंकि यह 'रिक्त' है)। मैं वापस आने वाले ईवेंट को उस पेज पर कैसे कैप्चर कर सकता हूं जिसने गतिविधि को बुलाया, और फिर देखें कि उसने क्या कार्य किया?

मैं एक ऑनक्लिकलिस्टर सेट कर सकता हूं, जहां मैं कैमरे की गतिविधि से बाहर निकलने के लिए क्लिक किए जा रहे नकली टैब (छवियों) का जवाब दे सकता हूं। बाहर निकलने पर, टैब को अपडेट करना चाहिए ताकि आप वापस लौटा सकें। कोई सुझाव?

धन्यवाद,

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड: एक गतिविधि की वापसी पर कब्जा"

मैं अपने काम के मैदान को हल करने के लिए उत्तर देने पर ध्यान केन्द्रित करूंगा ताकि यह आपकी इच्छा के अनुसार व्यवहार करे।

दूसरे के भीतर एक गतिविधि पर किए गए कार्यों पर कब्जा करने के लिए तीन चरणों की आवश्यकता होती है।

StartActivity के बजाय startActivityForResult का उपयोग करके माध्यमिक गतिविधि (आपका 'कैमरा गतिविधि') एक सब-एक्टिविटी के रूप में लॉन्च करें।

 Intent i = new Intent(this,CameraActivity.class); startActivityForResult(i, STATIC_INTEGER_VALUE); 

उपयोगकर्ता को अलग-अलग टैब छवि पर क्लिक करने के बजाय केवल गतिविधि को बंद करने की बजाय सब-एक्टिविटी (कैमरा गतिविधि) के भीतर, आपको एक नए आशय बनाने की ज़रूरत है और जब आप एक्स्ट्रा बंडल का उपयोग करते हुए मूल एप पर वापस लौटते हैं तो टैब के इंडेक्स को शामिल करना होगा। । कैमरे को बंद finish लिए finish कॉल finish से पहले इसे वापस मूल कॉल setResult

 resultIntent = new Intent(null); resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, tabIndexValue); setResult(Activity.RESULT_OK, resultIntent); finish(); 

अंतिम चरण कॉलिंग गतिविधि में है, कैमरा गतिविधि से कॉलबैक के लिए सुनने के लिए गतिविधि गतिविधि पर ओवरराइड करें। आपके द्वारा प्रदर्शित किए जाने वाले टैब के सूचक को निर्धारित करने के लिए लौटे आशय से अतिरिक्त प्राप्त करें

 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch(requestCode) { case (STATIC_INTEGER_VALUE) : { if (resultCode == Activity.RESULT_OK) { int tabIndex = data.getIntExtra(PUBLIC_STATIC_STRING_IDENTIFIER); // TODO Switch tabs using the index. } break; } } }