2015-07-22 5 views
9

मेरे पास एक कस्टम व्यू घटक है। मैंने इसे किसी भी टुकड़े या गतिविधि में इस्तेमाल किया। मैं जानना चाहता हूं कि खंड/गतिविधि से नष्ट होने पर कॉलबैक है या नहीं?एंड्रॉइड वहां नष्ट होने पर कोई दृश्य कॉलबैक है?

उत्तर

10

दृश्य में कॉलबैक नहीं है (finalize() को छोड़कर, लेकिन मुझे नहीं लगता कि आप यही पूछ रहे हैं)। दृश्य में onDetachedFromWindow() है जब इसे स्क्रीन से हटा दिया जाता है, लेकिन यह नष्ट होने से संबंधित नहीं है - इसे फिर से जोड़ा जा सकता है, जो onAttachedToWindow() पर कॉल करेगा।

टुकड़े में onDestroyView() है, जो आपके लिए अधिक उपयोगी हो सकता है। गतिविधि में समकक्ष विधि नहीं है, लेकिन आप onDestroy() का उपयोग तब तक कर सकते हैं जब तक आपको पता न हो कि सिस्टम कभी भी आपके ऐप को अप्रत्याशित रूप से समाप्त करने का निर्णय नहीं लेता है।

+0

क्या इसका मतलब यह है कि जब सिस्टम मेरे ऐप को अप्रत्याशित रूप से समाप्त करने का निर्णय लेता है तो 'onDestroyView()' को कॉल किया जाएगा? –

+0

@ RadekKłos संभावना नहीं है। यदि आप वास्तव में चाहते हैं कि यह जानना है कि दृश्य वर्तमान में स्क्रीन पर है या नहीं, तो शायद बेहतर कॉलबैक 'View.onDetachedFromWindow() ' – Karakuri

+0

उत्तर के लिए धन्यवाद। मुझे लगता है कि 'onDetachedFromWindow()' अभी भी कॉल नहीं किया जाएगा जब सिस्टम मुझे अप्रत्याशित रूप से समाप्त करने का फैसला करता है, लेकिन इसके साथ, गतिविधि के 'onDestroy() 'के साथ भी कहा जाएगा? क्या यह सही है? मैं जो हासिल करना चाहता हूं वह है कि जब मैं ऐप समाप्त करता हूं और मैं इसे व्यू ऑब्जेक्ट में करना चाहता हूं, तो गतिविधि को व्यक्तिगत रूप से साझा करने के लिए साझा करना चाहता हूं, न कि गतिविधि जो इस दृश्य को अपने लेआउट में रखती है। –

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