IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème dans la mise à jour d'une AppliWidget


Sujet :

Android

  1. #1
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut Problème dans la mise à jour d'une AppliWidget
    J'ai une appliWidget contenant une seule image, qui réagit au click. Sur un click j'effectue un traitement et je souhaite changer l'image


    Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public void onReceive(Context context, Intent intent) {
            super.onReceive(context, intent);
     	RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.widget_layout);
            if (ACTION_SHOW_NOTIFICATION.equals(intent.getAction())) {
               if (state)
            {
            	//Traitement1;
            	 views.setImageViewResource(R.id.imageView1,R.drawable.image2);
     
            }
            else
            {
            	//Traitement2;
            	views.setImageViewResource(R.id.imageView1,R.drawable.image1);
     
     
            } 
            }
        }
    Après chaque appuie sur le widget, Je passe bien dans traitement 1 ou 2 mais je n'arrive pas à changer l'image.

    Merci par avance pour votre aide.

  2. #2
    Membre actif Avatar de IsiTech
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Points : 268
    Points
    268
    Par défaut
    Bonjour,

    J'ai l'impression qu'il te manque une ligne du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    appWidgetManager.updateAppWidget(appWidgetId, views); // On met ensuite à jour l'affichage du widget
    à ton code car la valeur est mise à jour mais pas l'affichage, voir : http://sberfini.developpez.com/tutor...oid/appwidget/

  3. #3
    Membre habitué Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Points : 145
    Points
    145
    Par défaut
    Merci pour ta réponse, tu m'as aiguillé vers la solution.

    Voici le code complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
       @Override
        public void onReceive(Context context, Intent intent) {
        	 super.onReceive(context, intent);
            if (ACTION_SHOW_NOTIFICATION.equals(intent.getAction())) {
     
               RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.flashlight_widget_layout);	
                if (state)
                {
                        	//Traitement1;
            	 views.setImageViewResource(R.id.imageView1,R.drawable.image2);
                }
                else
                {
                	        	//Traitement2;
            	 views.setImageViewResource(R.id.imageView1,R.drawable.image1);
                }
     
                AppWidgetManager appWidgetManager = ApWidgetManager.getInstance(context);
                ComponentName cn = new ComponentName(context, MyAppWidgetClass.class);
                 int [] appWidgetIds = appWidgetManager.getAppWidgetIds(cn);
     
                 for (int i = 0; i <  appWidgetIds.length; i++) {
                     int appWidgetId = appWidgetIds[i];
                      appWidgetManager.updateAppWidget(appWidgetId, views);
                 }
     
            }
          }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/02/2013, 11h58
  2. [1.x] Problème mise à jour d'une entrée dans la base
    Par Leward dans le forum Débuter
    Réponses: 4
    Dernier message: 29/08/2011, 22h39
  3. Réponses: 0
    Dernier message: 15/04/2011, 15h14
  4. Problèmes dans la mise à jour de l'interface
    Par Titelouve dans le forum EDT/SwingWorker
    Réponses: 3
    Dernier message: 14/03/2011, 18h59
  5. probleme de virgule dans la mise à jour d'une base de donnée
    Par KAF dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/12/2005, 02h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo