तो मैं एंड्रॉयड के लिए kotlin
उपयोग करें, और जब विचारों बढ़ा-चढ़ाकर, मैं निम्न कार्य के लिए करते हैं:Kotlin आलसी गुण और मान रीसेट: एक रीसेट आलसी प्रतिनिधि
private val recyclerView by lazy { find<RecyclerView>(R.id.recyclerView) }
इस विधि काम करेंगे। हालांकि, एक ऐसा मामला है जिसमें यह ऐप को बग करेगा। यदि यह एक टुकड़ा है, और टुकड़ा बैकस्टैक पर जाता है, onCreateView
फिर से बुलाया जाएगा, और खंड का दृश्य पदानुक्रम फिर से बनाया जाएगा। जिसका अर्थ है, आलसी शुरू किए गए रीसाइक्लर व्यू पुराने दृश्य को इंगित करेंगे जो अब अस्तित्व में नहीं है।
एक समाधान इस तरह है:
private lateinit var recyclerView: RecyclerView
और onCreateView
अंदर सभी गुण आरंभ।
मेरा सवाल है, क्या आलसी गुणों को रीसेट करने का कोई तरीका है ताकि उन्हें फिर से शुरू किया जा सके? मुझे लगता है कि तथ्य प्रारंभिक सभी कक्षाओं के शीर्ष पर किए जाते हैं, कोड को व्यवस्थित रखने में मदद करता है। विशिष्ट समस्या इस प्रश्न में पाई जाती है: kotlin android fragment empty recycler view after back
क्या आप एक आलसी परिवर्तनीय चर की तलाश में हैं, जिसे आप निश्चित रूप से प्रारंभ कर सकते हैं लेकिन स्पष्ट रूप से सेट भी कर सकते हैं या आप लोडिंग कैश की तलाश कर रहे हैं जिसे आप पुनः लोड कर सकते हैं? – mfulton26
मैं आलसी रूप से एक संपत्ति शुरू करना चाहता हूं, यदि आवश्यक हो तो इसे रीसेट करने के विकल्प के साथ। पहले प्रारंभिकरण से पहले राज्य होने का रीसेट करना –
इसके लिए आपको एक कस्टम प्रतिनिधि की आवश्यकता है, यह लिखना अपेक्षाकृत आसान है। यदि आपके परिदृश्य का अक्सर उपयोग किया जाता है, तो इसे stdlib – voddan