J'ai un widget android qui est mis à jour 1 fois par jour (comme indiqué dans le fichier providerinfo.xml). est ici, actuellement, ma méthode onUpdate:Android Widget Mise à jour TextView Text
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
RemoteViews rvs = new RemoteViews(context.getPackageName(), R.layout.main);
rvs.setTextViewText(R.id.textviewquote, "we updated! yay!");
appWidgetManager.updateAppWidget(new ComponentName(context, main.class), rvs);
}
Cependant, mon textview ne change jamais. onUpdate est appelé au début, lorsque le widget est créé à droite? Alors, comment change-t-on le texte dans un textview?
Merci
Edit: Fournisseur Infos:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/main">
Et Manifestez:
<receiver android:name=".main" >
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/appwidgetproviderinfo" />
</receiver>
Mise à jour: La méthode onUpdate() est même pas s'appeler. Quelqu'un peut-il me dire pourquoi?
Mise à jour majeure: Dans Android 2.3, la méthode onUpdate() n'est pas appelée, mais dans Android 2.2, il est appelé. Je me demande si c'est un bug, ou peut-être qu'ils ont changé le fonctionnement des widgets.
Où avez-vous défini la fréquence de mise à jour? Dans Manifest ou via AlarmManager? – skyman
voir modifications. Merci! – Peanut
Vous pouvez mettre un journal à l'intérieur de onUpdate pour vous assurer qu'une fois que vous avez ajouté le widget pour la première fois, il est appelé. – exception01