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 :

Utilisation de this dans un adaptateur


Sujet :

Android

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Utilisation de this dans un adaptateur
    Bonjour,

    J'ai suivi un tuto pour créer une liste à partir de cette page http://blog.ace-art.fr/2010/07/21/tu...-les-listview/. Ce que je ne comprends pas c'est l'appel que l'on fait à l'adaptateur : on fait

    LivreAdapter adapter = new LivreAdapter(this, maBibliotheque);

    mais "this" représente le contexte de l'activité principale et pas celui du layout que j'ai créé pour la mise en forme d'un item ? Or c'est bien ce que doit prendre en paramètre mon adaptateur non ? Le "modèle" de l'item et les données (maBibliothèque) ?

    Merci beaucoup de vos réponses, je suis débutant encore donc si j'ai dit de grosses bêtises ne m'en tenez pas trop rigueur

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    je pense que tu as suivis un tuto pour la création d'un adaptateur, en gros le constructeur que tu as créé demande le context et une list?

    ta view conteneur, ce trouve directement dans le code de ton adapter getView? (je suis pas certain pour le nom de la méthode)

    si tu veux juste créé une listView simple, utilise plutôt les simpleAdapter ou les arrayAdapter.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Oui voici le code du constructeur :

    List<Livre> biblio;

    LayoutInflater inflater;

    public LivreAdapter(Context context,List<Livre> biblio) {
    inflater = LayoutInflater.from(context);
    this.biblio = biblio;
    }

    Ensuite dans la méthode getView() je fais appel au layout via inflate :

    convertView = inflater.inflate(R.layout.itemlivre, null);

    où R.layout.itemlivre est la structure de l'item ( ou le view conteneur si j'ai bien compris :/ ce que tu as dit )

    Le problème est ici : lorsque je fais l'appel "this" dans "LivreAdapter(this,mabiblio)" ,"this" est le contexte de l'activité principale et pas celle de la structure de l'item non ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Citation Envoyé par piolo007 Voir le message
    Le problème est ici : lorsque je fais l'appel "this" dans "LivreAdapter(this,mabiblio)" ,"this" est le contexte de l'activité principale et pas celle de la structure de l'item non ?
    En effet, (bien que la deuxième partie de la phrase ne soit pas correcte).
    Quel est ton problème ?
    Il y a une erreur de compilation, une erreur à l'exécution, ou quelque chose que tu ne parviens pas à comprendre ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En fait c'est la signification de "this" : qu'est-ce que cela représente ?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Alors si c'est cela ta question, c'est plus une question en rapport avec Java que avec Android.
    This correspond à l'instance de l'objet que tu manipules.
    Quand tu te trouves dans une Activity, this représente cette Activity.
    Quand tu te trouves dans un Adapter, this représente cet Adapter.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ah j'ai compris en fait j'ai confondu layout et activity : je ne pensais pas que l'on pouvait extraire de this le layout itemlivre que je considérai comme une activité !
    Merci beaucoup

Discussions similaires

  1. utiliser this dans un callback
    Par pelloq1 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/04/2012, 14h30
  2. Réponses: 3
    Dernier message: 23/09/2010, 16h52
  3. utiliser "this" dans une sous classe
    Par lucke_widness dans le forum Qt
    Réponses: 1
    Dernier message: 20/01/2010, 16h53
  4. Réponses: 5
    Dernier message: 12/03/2006, 14h38

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