2012-12-27 7 views
17

मैं अपने विजेट को हर बार आकार बदलने के लिए अपडेट करना चाहता हूं। मैं पता लगा है कि इस में किया जाता है:किसी विजेट मेंAppWidgetOptionsChanged() पर कैसे उपयोग करें?

onAppWidgetOptionsChanged(Context context, AppWidgetManager appWidgetManager, int appWidgetId, Bundle newOptions)

लेकिन मैं बाहर उस में विजेट अपडेट करने का तरीका नहीं मिल रहा। मैंने onUpdate() में जो कुछ भी रखा है उसे कॉल करके विजेट को फिर से निकालने का प्रयास किया, लेकिन यह काम नहीं कर रहा है। मैं बंडल का उपयोग कैसे कर सकता हूं?

उत्तर

32

मैं अपने विजेट को हर बार आकार बदलने के लिए अपडेट करना चाहता हूं।

कूल!

मैं पता लगा है कि इस onAppWidgetOptionsChanged()

में अधिक सही किया जाता है, अगर आप अपने <intent-filter> में सही कार्रवाई है, Android 4.1+ उपकरणों पर, आप पता लगा होगा के बारे में onAppWidgetOptionsChanged() के माध्यम से घटनाओं का आकार बदलें।

लेकिन मुझे यह नहीं पता कि इसमें विजेट को कैसे अपडेट किया जाए।

आप इसे onUpdate() में अपडेट करते ही उसी तरह अपडेट करते हैं। के साथ AppWidgetManager पर updateAppWidget() पर कॉल करें।

मैंने अद्यतन किए गए सब कुछ को कॉल करके विजेट को फिर से निकालने का प्रयास किया, लेकिन यह काम नहीं कर रहा है।

"यह काम नहीं कर रहा है" आपके लक्षणों का एक विशेष रूप से प्रभावी वर्णन नहीं है।

मैं बंडल का उपयोग कैसे कर सकता हूं?

एक Bundle नामित newOptions लिए

, आप अपने नए आकार सीमा पता कर सकते हैं के माध्यम से:

newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH) 
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH) 
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT) 
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT) 

उदाहरण के लिए, this sample project एक AppWidgetProvider कि बस एक स्ट्रिंग में उन मूल्यों pours और है कि एक अद्यतन करने के लिए उपयोग करता है, TextView। नतीजा इस तरह दिखता है:

Resize Widget, During Resize Operation

+0

बहुत बहुत धन्यवाद! : डी –

+0

बस एफवाईआई, यह उदाहरण मेरे गैलेक्सी एस 3 रन बिल्ड नंबर JZ054K.I9300XXXELL4 पर काम नहीं करता है। हालांकि, यह मेरे नेक्सस 4 पर खूबसूरती से काम करता है। धन्यवाद मार्क! – Justin

+0

@ जस्टिन: "काम नहीं करता" का क्या अर्थ है? – CommonsWare

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