मैं एक Activity
कि 3 RecyclerViews
शामिल है। मुझे दूरस्थ भंडार (3 अलग-अलग अनुरोध) से डेटा के साथ RecyclerViews
पॉप्युलेट की आवश्यकता है। क्या मैं Activity
में एकाधिक ViewModels
का उपयोग कर सकता हूं, या क्या कोई बेहतर समाधान (सर्वोत्तम अभ्यास) है।गतिविधि
गतिविधि
उत्तर
इस मामले में मैं एक दृश्य मॉडल का उपयोग करने की अनुशंसा करता हूं जो तीन अलग-अलग लाइवडेटा ऑब्जेक्ट्स को पॉप्युलेट करता है। इस तरह यूआई अपडेट हो सकता है जब भी आपके तीन अनुरोधों में से एक प्रतिक्रिया प्राप्त हो जाती है। विवरण के लिए LiveData के साथ रीसाइक्लर व्यू का उपयोग कैसे करें Google Example पर एक नज़र डालें।
मैं गतिविधि प्रति एकाधिक ViewModels होने लगता है कि केवल जटिलता बढ़ जाती है और मुझे लगता है कि ऐसा करने में किसी भी मूल्य नहीं दिख रहा।
के साथ करने का प्रयास करते हैं तो समस्या क्या है Google उदाहरण लिंक मर चुका है। –
धन्यवाद, मैंने इसे – guglhupf
@guglhupf अपडेट किया है ऐसा करने में एक मूल्य है: 'रीसाइक्लिंग व्यू' के बीच युग्मन घटाना और उन्हें स्वतंत्र रूप से पुन: उपयोग करने या किसी अन्य स्क्रीन पर जाने की क्षमता में वृद्धि करना। –
the open/closed principle के अनुसार, आप तीन अलग अलग ViewModel
रों बनाना चाहिए। जटिलता में इतना वृद्धि नहीं हुई है, और आप एक ViewModel
(या बस इसे पुन: उपयोग करें) को RecyclerView
के साथ Activity
पर आसानी से स्थानांतरित करने की क्षमता प्राप्त कर रहे हैं।
, कभी कभी नियमों को तोड़ने समझ में आता है - उदाहरण के लिए यदि आप जानते हैं, वहाँ कोई संभावना नहीं है, कि RecyclerView
पुन: उपयोग किया जाएगा या कोई अन्य स्क्रीन में ले जाया गया, और फिर आप एक ViewModel
साथ सरल समाधान के लिए जा सकते हैं।
एक ही स्थिति है, तो ViewModel
(यहां तक कि 3 सूची के साथ) हमेशा बहुत ही सरल (सिर्फ तीन LiveData
क्षेत्रों, बस कोड की कुछ लाइनें उन्हें पॉप्युलेट करने के लिए) रहने की संभावना है, तो आप इस नियम तोड़ सकते हैं।
हालांकि हे/सीपी के उल्लंघन एक अच्छा अभ्यास नहीं है - यह सिर्फ शासन के प्रति सचेत तोड़ने है।
- 1. पर गतिविधि गतिविधि के बाहर गतिविधि गतिविधि
- 2. गतिविधि
- 3. गतिविधि
- 4. गतिविधि
- 5. गतिविधि
- 6. गतिविधि
- 7. गतिविधि
- 8. गतिविधि
- 9. गतिविधि
- 10. गतिविधि
- 11. गतिविधि
- 12. गतिविधि
- 13. गतिविधि
- 14. गतिविधि
- 15. गतिविधि
- 16. गतिविधि
- 17. पर गतिविधि गतिविधि शून्य है
- 18. एकाधिक गतिविधि सक्रियता 1 गतिविधि
- 19. स्टैश गतिविधि का मतलब है गतिविधि गतिविधि मौजूद नहीं है?
- 20. एक गतिविधि से दूसरे गतिविधि में
- 21. प्रारंभ गतिविधि और स्पष्ट गतिविधि इतिहास
- 22. एटैच (गतिविधि गतिविधि) क्यों बहिष्कृत है?
- 23. गतिविधि से संदेश भेजने के लिए गतिविधि
- 24. एकल गतिविधि में एंड्रॉइड सर्च गतिविधि
- 25. एंड्रॉइड लॉगिन गतिविधि और गृह गतिविधि पुनर्निर्देशन
- 26. एंड्रॉइड खाली गतिविधि और खाली गतिविधि
- 27. नई गतिविधि
- 28. मूल गतिविधि
- 29. कोई गतिविधि
- 30. गतिविधि समूह
एएसी के गूगल नमूना 1 LiveData साथ 1 RecyclerViews के उपयोग से पता चला है। यदि आप 3 रीसाइक्लर व्यू 3 लाइवडेटा –