Jump to content

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

Link to comment
Share on other 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

Link to comment
Share on other 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 ...

Link to comment
Share on other 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

Link to comment
Share on other 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.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...