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 :

resdessin d'affichage après rotation d'écran


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de rsuinux
    Homme Profil pro
    Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Inscrit en
    Août 2007
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Secteur : Santé

    Informations forums :
    Inscription : Août 2007
    Messages : 160
    Par défaut resdessin d'affichage après rotation d'écran
    Bonjour;
    Je viens vers car je n'arrive pas à trouver de solution à mon problème.
    Je vous explique:
    J'ai un programme de test ou je crée une base de donnée, j'ajoute des données (c'est le but ...) et je les affiche dans une listview.
    Jusque là, ça va j'ai réussi tout seul!
    La ou ça va pas, c'est quand j'ajoute une donnée, j'update ma base, je modifie ma listview, et je la ré-affiche... mais en fait non.
    Ca me vide l'écran, et affiche bien que lorsque je pivote de téléphone!
    J'ai beau avoir tenté d'utiliser "notifyDataSetChanged();" pas moyen de modifier ce comportement étonnant!

    Auriez vous une idée, s'il vous plaît?
    Je ne comprend pas s'il faut réafficher le listview, ou dire qu'il y a de nouvelle données dedans, ou dire de redessiner tout l'écran.

    Merci de votre aide.

    Rémi.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 476
    Par défaut
    Oui, j'ai une idée, montre nous un bout de code pour comprendre le problème, car ce n'est pas normal d'avoir un écran blanc. La fonction d'update est erronée

    Sinon, tu as un semblant de solution ici : http://stackoverflow.com/questions/1...datasetchanged

  3. #3
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    C'est probablement lié à une mauvaise gestion du cycle de vie de l'activité, notamment lors de la rotation. Mais il nous faut voir ton code pour cela.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 970
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 970
    Par défaut
    à mon avis tu dois reéxecuter l'adapter lié à la listview.
    Edit: je viens de lire que tu tournes l'écran => c'est dans le onResume qu'il faut mettre ton code avec l'adapter, pas dans onCreate.

  5. #5
    Membre confirmé Avatar de rsuinux
    Homme Profil pro
    Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Inscrit en
    Août 2007
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Secteur : Santé

    Informations forums :
    Inscription : Août 2007
    Messages : 160
    Par défaut
    désolé du retard de la réponse.
    J’essaie de comprendre comment fonctionne android, alors je plaide coupable pour le pourtitude du 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
        public void showDialog(Context context) {
    
            final AlertDialog.Builder dialog = new AlertDialog.Builder (this);                                        // mon alertDialog contient deux champs text: Nouveau_Medic et Nouveau_Dose
            final LayoutInflater inflater;
            inflater = LayoutInflater.from (this);
            dialog.setView (inflater.inflate (R.layout.nouveau_medic, null));
            dialog.setTitle ("Nouveau médicament")
                    .setPositiveButton (ok, new DialogInterface.OnClickListener () {
                        @Override
    public void onClick(DialogInterface dialog, int id) {
                            // sign in the user ...
    Medicament medic = new Medicament ();
                            EditText et1 = (EditText) ((AlertDialog) dialog).findViewById (R.id.Nouveau_Medic);
                            EditText et2 = (EditText) ((AlertDialog) dialog).findViewById (R.id.Nouveau_Dose);
                            String s1 = et1.getText ().toString ();                                                    // Je récupère bien le texte "médicament"
                            String s2 = et2.getText ().toString ();                                                    // Je récupère bien le texte "dose"
                            medic.setMedicament (s1); 
                            medic.setDose (s2);
                            medicBdd.insertMedicament (medic);                                                         // La base est effectivement mise à jour
                            Toast.makeText (MainActivity.this, "Medicament enregistré.", Toast.LENGTH_SHORT).show ();  // Un toast pour faire une info
    
                            listItem.clear ();                                                                         // Je vide le listview
                            listItem=medicBdd.getAllMedicaments ();                                                    // je le re-remplie
                            ((BaseAdapter) listViewMedicaments.getAdapter()).notifyDataSetChanged();                   // et la c'est le drame!!! enfin, non, rien ne se passe!
                        }
                    })
                    .setNegativeButton (cancel, new DialogInterface.OnClickListener () {
                        @Override
    public void onClick(DialogInterface dialog, int which) {
                        }
                    })
                    .show ();
        }
    Merci pour vos avis, je vais jeter un oeil sur stackoverflow

  6. #6
    Membre confirmé Avatar de rsuinux
    Homme Profil pro
    Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Inscrit en
    Août 2007
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Infirmier Formateur pour logiciel de Dossiers de Soins Informatisés
    Secteur : Santé

    Informations forums :
    Inscription : Août 2007
    Messages : 160
    Par défaut
    après vos commentaires, je suis allez voir stackoverflow, ainsi que le onResume.
    Je n'ai pas de méthode onResume, effectivement.
    Faut il aussi obligatoirement un onPause aussi?

    Merci de votre aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/03/2016, 20h57
  2. Crash application après rotation écran
    Par athomas dans le forum Android
    Réponses: 7
    Dernier message: 19/09/2013, 17h19
  3. [PowerBuilder] Prob. d'affichage après insertion de contrôle
    Par Oakenshield dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 30/01/2006, 14h37
  4. Réponses: 5
    Dernier message: 29/07/2005, 09h00
  5. Pb d'affichage apres une liste déroulante
    Par loic.440 dans le forum ASP
    Réponses: 13
    Dernier message: 19/01/2005, 14h28

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