2015-09-05 10 views
13

मैं यह निर्धारित करने की कोशिश कर रहा हूं कि एक अवलोकन योग्य DialogFragment बनाना संभव है या नहीं। अनिवार्य रूप से मैं करने के लिए सक्षम होना चाहते हैं: दिखाने बनाएंआरएक्सजेवा के साथ डायलॉग फ्रैगमेंट का प्रबंधन कैसे करें?

  • और एक DialogFragment
  • वापस जाओ एक rx Observable जो परिणाम के लिए करने के लिए सदस्यता जा सकता है (ठीक/दबाया रद्द, स्ट्रिंग इनपुट, पृष्ठभूमि कार्य सफलता/असफलता, आदि)
  • ठीक तरह से विन्यास परिवर्तन संभाल

अब तक निकटतम बात मैंने पाया ReactiveDialog, जो RxAndroid का हिस्सा हुआ करता था, लेकिन RxAndroid को सरल बनाने के एक भाग के रूप में removed from RxAndroid in v1.0.0 किया गया है।

जबकि ReactiveDialog मेरे पहले दो मानदंडों को पूरा करने के लिए प्रतीत होता है, यह कॉन्फ़िगरेशन परिवर्तन को संभालने में प्रतीत नहीं होता है।

  1. DialogFragment अपने Observable विन्यास भर में परिवर्तन को बनाए रखने चाहिए, ताकि वह अपने राज्य के ग्राहकों को सूचित कर सकते हैं: वहाँ पर विचार करने के दो मुद्दे हैं।
  2. ग्राहक (ओं) या तो कॉन्फ़िगरेशन परिवर्तन के बाद या तो एक मेमोरी रिसाव के उत्पादन के बाद अपनी सदस्यता को फिर से सब्सक्राइब करने में सक्षम होना चाहिए।

मैं अभी भी आरएक्सजेवा के लिए बिल्कुल नया हूं, इसलिए मैं अभी भी इस तरह कुछ प्रबंधित करने के तरीके के बारे में अपने सिर को लपेटने की कोशिश कर रहा हूं। ऐसा लगता है कि यह संभव होना चाहिए, लेकिन मुझे लगता है कि इसे स्थिर या सिंगलटन Observable प्रबंधक और संभवतः retainedInstanceDialogFragments की आवश्यकता होगी।

किसी के पास इसके लिए कोई सुझाव या सर्वोत्तम अभ्यास है?

+0

हाय! आपको कोई समाधान मिला? – Tiberal

उत्तर

1

यहां दो मुद्दे हैं; एक यह है कि आप रिलेआउट के दौरान जावा ऑब्जेक्ट्स खोना नहीं चाहते हैं - इसके बारे में runtime changes docs देखें।

दूसरा मुद्दा यह है कि आप एक अवलोकन योग्य बनाना चाहते हैं जिसमें उस क्रिया को ट्रिगर होने पर संवाद की कार्रवाई हो। इसके लिए, RxJava दस्तावेज़ों, Asynchronous Observer example पर एक नज़र डालें। आपको Observable.OnSubscribe बनाने की आवश्यकता होगी, और Subscriber को अपने कोड पर पास करें जो आवश्यक onNext/onError/onCompleted कॉल पर कॉल करेगा।

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