दिलचस्प पोस्ट
दो तिथियों के बीच के दिनों में अंतर कैसे पाता है? प्रक्षेपक में अपेक्षित स्थितियां 1/1/1970 "युग का समय" क्यों है? आप अपने (अप्रबंधित) कोड में मेमोरी लीक का पता कैसे लगा सकते हैं? स्वयं को रद्द करने और कार्य को पुनरारंभ करने के लिए एक पैटर्न स्ट्रिंग सरणी में मान मिलान करना सूची को फ़िल्टर करने के लिए घटक क्या स्थिर अंतिम चर के जेवाक की इनलाइनिंग को अक्षम करना संभव है? क्या जावा ध्वनि को सिस्टम वॉल्यूम को नियंत्रित करने के लिए इस्तेमाल किया जा सकता है? SQL सर्वर में तालिका से कॉलम नाम कैसे प्राप्त कर सकते हैं? एंड्रॉइड: छवि अभिविन्यास (चित्र या लैंडस्केप) का पता लगाने के लिए कैसे गैलरी से चुना जाता है जबकि एक छवि दृश्य सेट करना है? asp.net mvc एक अलग परियोजना में नियंत्रकों रखा .NET के लिए क्या नोएसक्यूएल समाधान हैं? नोडजे में बड़ी JSON फ़ाइल पार्स करें MVC4 DataType.Date EditorFor क्रोम में तिथि मान प्रदर्शित नहीं करेगा, ठीक इंटरनेट एक्सप्लोरर में

Android में गतिविधि पुनः लोड करें

क्या एंड्रॉइड में किसी Activity को पुनः लोड करने के लिए एक अच्छा अभ्यास है ?

यह करने का सबसे अच्छा तरीका क्या होगा? this.finish और फिर यह। गतिविधि गतिविधि के साथ सक्रियता?

वेब के समाधान से एकत्रित समाधान "Android में गतिविधि पुनः लोड करें"

आप बस का उपयोग कर सकते हैं

 finish(); startActivity(getIntent()); 

अपने भीतर से एक Activity को ताज़ा करने के लिए

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

 @Override protected void onResume() { super.onResume(); this.onCreate(null); } 

यह अनिवार्य रूप से गतिविधि को स्वयं को फिर से तैयार करने का कारण बनता है।

नवीनीकृत: ऐसा करने का एक बेहतर तरीका पुन: विश्राम () विधि को कॉल करना है। इससे गतिविधि को पुन: निर्मित किया जाएगा।

मुझे जल्द से जल्द अपने अनुप्रयोगों में से किसी एक में एक संदेश सूची अपडेट करने की जरूरत है, इसलिए मैं अपने मुख्य UI गतिविधि का रीफ्रेश किया, इससे पहले कि मैं उस संवाद को बंद कर सकूं। मुझे यकीन है कि इस तरह से पूरा करने के लिए बेहतर तरीके भी हैं I

 // Refresh main activity upon close of dialog box Intent refresh = new Intent(this, clsMainUIActivity.class); startActivity(refresh); this.finish(); // 

एंड्रॉइड में एक प्रोसेस मैनेजमेंट सिस्टम शामिल है जो ऐसे गतिविधियों का सृजन और विनाश करता है, जो किसी भी लाभ को नकार देता है जो आपको किसी गतिविधि को मैन्युअल रूप से पुनरारंभ करने से दिखाई देता है। आप इसके बारे में अधिक जानकारी एप्लिकेशन फाउंडैमेंटल्स में देख सकते हैं

क्या अच्छा अभ्यास है, हालांकि यह सुनिश्चित करना है कि आपका ऑन-पॉज़ और ऑन -स्ट तरीके किसी भी संसाधन को रिलीज़ करते हैं, जिसे आपको अपनी गतिविधियों को कम करने के लिए लॉमोमोरी पर रखने की आवश्यकता नहीं है और पूर्ण न्यूनतम की आवश्यकता है

उन लोगों के लिए जो पुन: विश्राम () विधि के बाद उस ब्लिंक को देखना नहीं चाहते हैं, बस का उपयोग करें

  finish(); overridePendingTransition(0, 0); startActivity(getIntent()); overridePendingTransition(0, 0); 

एक इरादे से अपनी activity शुरू करें और activity को बंद करें।

 Intent refresh = new Intent(this, Main.class); startActivity(refresh);//Start the same Activity finish(); //finish Activity. 

मुझे एक ही समस्या है

 import android.support.v4.content.IntentCompat; intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |IntentCompat.FLAG_ACTIVITY_CLEAR_TASK); 

यह कोड मेरे लिए काम करता है एंड्रॉइड एपीआई 17

कुछ मामलों में यह दूसरे में सबसे अच्छा अभ्यास है, यह एक अच्छा विचार नहीं है कि यह प्रसंग प्रेरित है यदि आप ऐसा करने का फैसला किया है, तो निम्न गतिविधि का उपयोग करने से उसके बेटों को पारित करने का सबसे अच्छा तरीका है:

  Intent i = new Intent(myCurrentActivityName.this,activityIWishToRun.class); startActivityForResult(i, GlobalDataStore.STATIC_INTEGER_VALUE); 

जब भी आप काम खत्म कर देते हैं () जब आप गतिविधि से काम करते हैं I

मुझे नहीं लगता कि यह एक अच्छा विचार है … यह एक क्लीनर विधि को लागू करने के लिए बेहतर होगा उदाहरण के लिए, यदि आपकी गतिविधि में एक फार्म है, तो क्लीनर विधि केवल प्रत्येक विजेट को फ़ॉर्म में साफ़ कर सकता है और सभी अस्थायी डेटा हटा सकता है। मुझे लगता है कि आप क्या चाहते हैं: गतिविधि को इसकी प्रारंभिक अवस्था में पुनर्स्थापित करें

थोड़ी देर के लिए इस के साथ प्रयोग करने के बाद मुझे किसी गतिविधि को पुनरारंभ करने का कोई अनपेक्षित परिणाम नहीं मिला है। इसके अलावा, मेरा मानना ​​है कि यह वही है जो एंड्रॉइड डिफ़ॉल्ट रूप से करता है जब ओरिएंटेशन में परिवर्तन होता है, इसलिए मुझे ऐसा कोई कारण नहीं दिखता कि ऐसा एक समान परिस्थिति में करें।

मेरे पास एक अन्य दृष्टिकोण था: मेरी गतिविधि के singleTop को singleTop पर singleTop और finish() किए बिना finish() , बस startActivity(getIntent()) काम करेगा बस नए डेटा के बारे में onNewIntent onCreate() और onNewIntent दोनों पर ध्यान onNewIntent सुश के रास्ते से, आइए, जैसे आवेदन आलोक हो सकता है जैसे अमान सिंह ने कहा। लेकिन अमन सिंह का दृष्टिकोण अभी भी एक नई गतिविधि पैदा करेगा जो कि किसी भी तरह, अनावश्यक है, भले ही वह 'झपकी' समस्या तय कर ले, मुझे लगता है।

इस प्रश्न के लिए बहुत देर हो चुकी है, लेकिन अगर कोई समाधान ढूंढ रहा है, तो यह यहां है।