2013-07-03 6 views
16

मैं एक कैनवास पर रिमोट व्यूज़ उदाहरण प्रस्तुत करने की कोशिश कर रहा हूं, जैसे कि मैं नियमित दृश्य के साथ करता हूं। मैंरिमोट व्यू को एक दृश्य में कनवर्ट करना

RemoteViews.apply (संदर्भ, अशक्त)

और यह एक FrameLayout रिटर्न सभी विचारों के साथ नेस्ट और ठीक से मापा (स्थान और आकार, सही है), लेकिन पर .draw उपयोग करने के बाद का उपयोग करें लौटा हुआ दृश्य, यह सभी तत्वों को बिना किसी मान के प्रस्तुत करता है - टेक्स्ट व्यू खाली हैं, एनालॉगक्लॉक 00:00 पर रीसेट है और इसी तरह।

कोई विचार? मैं खो गया हूं :(

+0

डीबगर में सिस्टम लाइब्रेरी में कदम उठाने का प्रयास करें। –

+0

कृपया अपना एक्सएमएल पोस्ट करें। टेक्स्ट व्यू, एनालॉगक्लॉक इत्यादि के लिए आप किस बिंदु पर मूल्य निर्धारित कर रहे हैं? –

+0

@ करिमवारेला सरल एनालॉगक्लॉक, xml में कोई मान लेआउट_विड्थ और लेआउट_हेइट को अलग नहीं करता है। डिवाइस पर प्रतिपादन करते समय, यह सही समय दिखाता है, लागू() द्वारा लौटाए गए दृश्य में, यह हमेशा 00:00 दिखाता है। – gilm

उत्तर

1

यह सुनिश्चित नहीं है कि प्रश्न अभी भी वास्तविक है या नहीं। फिर भी यह RemoveViews के साथ मेरा अनुभव है। ऐसा प्रतीत होता है कि आप लौटे हुए दृश्य पर draw() पर कॉल नहीं कर सकते हैं। आपको यह दृश्य किसी मूल कंटेनर में जोड़ना होगा यह वैश्विक दृष्टिकोण पदानुक्रम का एक हिस्सा हैं। उदाहरण के लिए, आप एक ही FrameLayout उस में से एक Activity की है। आपका कोड इस तरह दिखेगा।

FrameLayout parent = findViewById(R.id.container); 
View view = RemoteViews.apply(getActivity(), parent); 
parent.addView(view); 

अब आप परीक्षण को देखने के लिए सक्षम होना चाहिए। आप श्रोताओं को सेट करते हैं , वे भी ठीक से काम करेंगे।

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