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

Composants graphiques Android Discussion :

Problème affichage de Views (TextView, ImageView)


Sujet :

Composants graphiques Android

  1. #1
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut Problème affichage de Views (TextView, ImageView)
    Bonjour,
    J'utilise un ViewFlipper, avec dedans plusieurs layout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <include layout="@layout/*" />
    etc...

    Je récupère les éléments des layout comme ça :
    Dans la classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private TextView titreNews;
    Dans le onCreate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    titreNews= (TextView) findViewById(R.id.TitreNews);
    Et dans une méthode, j'essaie de modifier les views.
    Et je fais un setText et un getText pour tester.
    Et la valeur du getText n'est pas la valeur affiché.
    En fait je ne peux pas modifié l'affichage du layout.

    Avant, j'avais quasiment une activity par page que j'affichais.
    Là j'ai modifié et au final j'aurais quasiment qu'une Activity :S

    Donc voila, si vous savez pourquoi je ne peux pas modifier ce layout, ce serait sympa de m'aider.

    Merci.

  2. #2
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Salut, quand tu dis

    Et la valeur du getText n'est pas la valeur affiché.
    Tu récupère quoi alors?

  3. #3
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut
    Si je met setText("texte 1"), quand je vais récupérer le retour de getText(), j'aurais "texte 1", mais je vois affiché le texte mis de base dans le layout xml.

    Je peux modifier l'affichage, du main.xml, mais de cet autre fichier ça déconne.
    Je modifie les valeurs et je charge la view :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    flipper.setDisplayedChild(6);
    Mais ça ne s'affiche pas comme prévu.

    Quand c'était une Activity il ni avait pas de problème.

    J'ai modifié tout les android:id pour être sûre, que le problème ne venait pas simplement de là...

    Edit :
    Il se passe quelque chose de vraiment louche, parce que j'ai essayé avec une autre View et ça fonctionne sans problème.

    Edit :
    J'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    04-18 14:37:03.450: WARN/InputManagerService(1549): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@47071100
    Sinon faut que j'arrive à faire une layout en Java au lieu de le faire en XML et de l'ajouter dynamiquement au ViewFlipper...
    Je ne comprend pas pourquoi je ne peux pas modifier ce layout.

    Edit :
    Bon le warning c'est en rapport avec le Thread je suppose, et je crois que ça n'a pas de lien.
    Je viens de remarquer quelque chose, dans le ViewFlipper, j'ai plusieurs include layout, et je peux modifier le 2ieme layout par exemple, mais pas le 6ieme, je ne comprend pas pourquoi...

  4. #4
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Ahhh je crois voir le souci, j'ai eu pareil je crois. Quand j'avais changé de layout j'arrivais pas à écrire ou quoi dans mon nouveau layout. Ton message d'erreur m'a refait pensé à mon souci.

    Si je me trompe pas, c'est que ton appli a son focus sur ton premier layout, du coup les autres sont bloqué. Tu peux donner le focus à une view avec ça:

    objetview.requestFocus(View.FOCUS_DOWN);

  5. #5
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut
    Merci, je vais essayer.
    En tout cas l'histoire de la position des layout dans le ViewFlipper est étrange.
    J'ai déplacé un include et ça fonctionnait parfaitement...

    Selon la position de l'include du layout dans le ViewFlipper ça ne fonctionne ou pas pour l'instant?

    Euh...
    Par contre je fais comment pour faire un objet de la view que je veux ?
    Parce qu'un LinearLayout avec un findViewById ça fait un pointeur null.

  6. #6
    Membre confirmé
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Points : 486
    Points
    486
    Par défaut
    Ah je peux pas te répondre pour l'instant, parce que j'ai pas utilisé de ViewFlipper, j'ai juste crée un nouveau layout que j'affiche quand je clique sur un bouton ^^

  7. #7
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut
    Ça y est !
    J'ai trouvé la source du problème !

    C'est parce qu'a un moment je voulais faire un deuxième ViewFlipper et mon layout était inclus également dans ce ViewFlipper.

    Du coup j'ai tout viré et ça fonctionne maintenant.
    Purée j'ai passé tellement d'heures, sur un problème aussi nul que ça...
    Parfois le développement et la programmation c'est frustrant.

  8. #8
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Euh...
    Par contre je fais comment pour faire un objet de la view que je veux ?
    Parce qu'un LinearLayout avec un findViewById ça fait un pointeur null.
    Il te suffit de créer une class qui aura comme extends View , comme cela tu pourras accéder à tous les menbres et procédure d'une View et ainsi customiser ta propre view

  9. #9
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Bonjour,
    Il te suffit de créer une class qui aura comme extends View , comme cela tu pourras accéder à tous les menbres et procédure d'une View et ainsi customiser ta propre view
    Intéressant, faudra que j'essaie cela un jour.
    Mais pour le moment ça me plait de faire des layout en xml et de les mettre à jour avec des valeurs plus tard.

  10. #10
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 838
    Points : 18 767
    Points
    18 767
    Par défaut
    J'ai un main.xml, à l'intérieur un include :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <include layout="@layout/top" android:id="@+id/includeTop" />
    J'aimerais changer ça en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <include layout="@layout/top2" android:id="@+id/includeTop" />
    Est-ce possible ?

    Edit :
    J'ai fais des recherches, sur des classes hérité de View, j'ai trouvé ça :
    http://www.permadi.com/blog/2010/03/...-based-layout/

    Mais je comprend pas comment faire ce que je veux.

    Edit :
    J'ai trouvé une autre solution, je met toujours en include le layout qui contient l'image/bouton, mais je met :
    image.setImageBitmap(null);
    Quand je ne veux pas l'image.

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

Discussions similaires

  1. android.widget.imageview probléme affichage
    Par chlock62 dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 11/03/2014, 17h33
  2. Problém affichage maps view android
    Par othman22222 dans le forum Composants graphiques
    Réponses: 1
    Dernier message: 03/06/2013, 10h23
  3. Problème d'affichage d'un textview qui se trouve dans un fragment
    Par FunckyWarrior dans le forum Composants graphiques
    Réponses: 10
    Dernier message: 28/02/2013, 15h35
  4. Problème d'affichage de deux TextView
    Par android84 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 01/02/2013, 13h38
  5. Problème dans la view(affichage calendrier)
    Par sajodia dans le forum MVC
    Réponses: 2
    Dernier message: 25/03/2011, 17h33

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