मैं विभिन्न विजेट ट्यूटोरियल जैसे this one और this oneOnUpdate कभी नहीं कहा जाता है - एंड्रॉयड विजेट
मैं अपने उद्देश्यों के लिए अपने कोड अनुकूल की कोशिश की है, और मैं सीधे-अप कॉपी पेस्ट की कोशिश की है निम्नलिखित की है। ऐसा कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मेरा विजेट कभी अपडेट नहीं होता है। जब यह होम स्क्रीन पर रखा जाता है तो पाठ उस स्टेटिक टेक्स्ट के रूप में रहता है जो इसे बनाया गया था। मुझे बस इस ऐप की आवश्यकता है 4 टेक्स्ट व्यू अपडेट करें जो लेआउट में निहित होगा।
नीचे दिया गया कोड ज्यादातर ट्यूटोरियल से कॉपी किया गया है। मैंने ऑनडेट विधि को डीबग करने का प्रयास किया है, हालांकि ब्रेक पॉइंट कभी हिट नहीं होता है।
किसी भी मदद की सराहना की जाएगी।
संपादित करें: मैं इस विजेट के एक बहुत ही सरल संस्करण में वापस आ गया था कि मैं अपने प्रयासों में पहले कोशिश कर रहा था और सरल विजेट के लिए कोड के साथ नीचे दिए गए कोड को प्रतिस्थापित कर दिया था। मैंने कॉमन्सवेयर द्वारा मेरे मैनिफेस्ट में सुझाए गए परिवर्तन किए हैं। दुर्भाग्य से समस्या बनी हुई है।
मेरा मुख्य जावा फाइल तो दिखाई देता है:
public class NetStatWidget extends AppWidgetProvider
{
public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds)
{
ComponentName thisWidget = new ComponentName(context, NetStatWidget.class);
int[] widgetId = manager.getAppWidgetIds(thisWidget);
RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.appwidget);
remoteView.setTextViewText(R.id.textView0, "Hello");
manager.updateAppWidget(widgetId, remoteView);
}
}
मेरे मैनिफ़ेस्ट:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.stat"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="10" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<receiver android:name="NetStatWidget" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/providerinfo" />
</receiver>
</application>
</manifest>
और मेरे विजेट प्रदाता जानकारी:
<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider
xmlns:android="http://schemas.android.com/apk/res/android"
android:initialLayout="@layout/main"
android:minWidth="146dip"
android:minHeight="72dip"
android:updatePeriodMillis="10000">
मैंने आपके सुझाव के अनुसार अपना मैनिफेस्ट बदल दिया और मुझे अभी भी एक ही समस्या है ...मैं एक सरल विजेट पर वापस लौट आया, मैं अपने प्रयासों की शुरुआत में कोशिश कर रहा था, वही परिवर्तन किया और यह एक ही समस्या है। मैंने ऊपर दिए गए कोड को सरल कोड को प्रतिबिंबित किया है। क्या आप एक ही समस्या देखते हैं? – Jodron
@ जोड्रॉन: नहीं, आपके पास एंड्रॉइड 3.0 और उसके बाद क्या काम करना चाहिए। एंड्रॉइड 3.1 और ऊपर, आपको अपने ऐप विजेट के साथ जाने के लिए एक गतिविधि की आवश्यकता है - जब तक उपयोगकर्ता गतिविधि को चलाता है तब तक आपके ऐप विजेट को कोई प्रसारण नहीं मिलेगा। इस निर्देशिका में एक और दो ऐप विजेट नमूने हैं, जिनमें से दोनों काम करते हैं: https://github.com/commonsguy/cw-advandroid/tree/master/AppWidget – CommonsWare
यह बिल्कुल अजीब है। मैं इसे 2.3 पर चला रहा हूं, और यह अभी भी पाठ को अपडेट नहीं करेगा। क्या मैं यह सोचने में गलत हूं कि जैसे ही विजेट को "textView0" रखा गया है, "हैलो" पढ़ना चाहिए? उदाहरणों के लिए धन्यवाद, बीमार उन लोगों को देखो और देखें कि क्या मैं इसे समझ नहीं सकता हूं। मुझे लगता है कि मैं अपने सिर पर हो सकता हूं और इसे सिर्फ एक नियमित ऐप बनाना चाहिए। – Jodron