Aller au contenu

Changer l'image d'un widget dynamiquement


kujaff

Recommended Posts

Bonjour à tous :)

J'ai un widget, avec un layout tout bateau, avec juste une image :

<?xml version="1.0" encoding="utf-8"?>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:scaleType="center"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:src="@drawable/wifi_enabled" />

Je cherche à changer via du code le src de l'ImageView wifi_widget_icon.

Quelqu'un a une solution ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Bonjour,

As tu trouvé une solution?

Sinon tu peux tester un truc dans le genre:


RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.widgetlayout);

updateViews.setBitmap(R.id.wifi_widget_icon, "setImageBitmap", bitmap);

Ou bitmap est ta nouvelle image

Lien vers le commentaire
Partager sur d’autres sites

En fait le problème était de changer l'image d'un widget en particulier, donc d'avoir le AppWidgetId : AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId, views);

Au final je stock tous les AppWidgetId donné par l'intent APPWIDGET_UPDATE dans un service, et quand je veux changer l'image d'un des widgets, je récupère son id via ce service.

Pas trouvé mieux comme code, si vous avez des idées ...

Lien vers le commentaire
Partager sur d’autres sites

Le coup du faire un service pour ça n'est pas très bon pour la RAM et la battery du mobile

Ton image change pour quel événement ?

Il faut que tu le fasse dans ton WidgetProvider en le faisant "sensible" (Intent Filter) à l'événement qui déclenchera le changement d'image

Lien vers le commentaire
Partager sur d’autres sites

C'est sur l'intent de changement de config vibreur / sonnerie (j'ai plus le nom exact en tête).

Et le problème c'est qu'il n'y a que sur l'intent APPWIDGET_UPDATE que tu as les appWidgetId en paramètres, donc pour tous les autres intent, si tu veux changer une image d'un widget, tu n'as accès à aucun id.

Du coup je suis obligé de les stocker quelque part, et j'avais le choix entre préférences globales (ce que j'ai choisi après coup) ou service.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...