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 :

Accéder aux propriétés du Layout depuis Adapter


Sujet :

Composants graphiques Android

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    483
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 483
    Points : 105
    Points
    105
    Par défaut Accéder aux propriétés du Layout depuis Adapter
    Bonjour,

    J'ai implémenté ce tutoriel (listivew + adapter avec un bouton pour chaque ligne):

    http://androidzoo.wordpress.com/2011...n-in-each-row/

    Mon soucis se situe au niveau du clique lors de la suppression d'une ligne. C'est-à-dire ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Button btnDelete = (Button)v.findViewById(R.id.lst_item_Delete);
     
    btnDelete.setOnClickListener(new OnClickListener() {
     
    @Override
    public void onClick(View view) {
    Toast.makeText(appContext,”Hellow this is clicked”, Toast.LENGTH_LONG).show();
     
    }
    });
    Comment puis-je, lorsque je supprime une ligne, modifie un élément graphique qui n'appartient pas à la listView? Par exemple imaginons que je souhaite modifier le text du TextView "Name" (exemple du tutoriel)

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Pourquoi ne pas faire passer ton activité dans le constructeur de ton adapter?

    Comme cela, tu auras juste à implémenter une fonction setName(String newName) dans ton activité. Cette méthode sera accessible dans ton adapter car tu possèdes ton activité que tu as passé en paramètre.

    En gros:

    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
    public class CustomListAdapter extends ArrayAdapter<PersonalInfo> {
    //....
    private activity activity;
    
    public CustomListAdapter(Context context, int textViewResourceId, ArrayList<PersonalInfo> items, Activity activity){
    //....
    this.activity = activity
    }
    //....
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    //....
    btnDelete.setOnClickListener(new OnClickListener() {
    
    @Override
    public void onClick(View view) {
    Toast.makeText(appContext,”Hellow this is clicked”, Toast.LENGTH_LONG).show();
    activity.setName("Toto");
    }
    });
    }
    
    }
    Et ton activité:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class MainActivity extends Activity
    {
    //....
    public void setName(String name)
    {
    EditText nameED = (EditText)findViewById(R.id.name);
    nameED.setText(name);
    }
    }

  3. #3
    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
    Ou tout simplement en déclarant ton Adapter en tant que InnerClass de ton Activity

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Citation Envoyé par Simon MARQUIS Voir le message
    Ou tout simplement en déclarant ton Adapter en tant que InnerClass de ton Activity
    oui aussi ... :p

Discussions similaires

  1. [Débutant] Accéder aux propriétés de MainWindow depuis une autre fenêtre
    Par Faguoren21 dans le forum C#
    Réponses: 7
    Dernier message: 25/04/2014, 20h02
  2. Accéder aux propriétés d'un objet créé au runtime
    Par zarbouine dans le forum Delphi
    Réponses: 6
    Dernier message: 14/12/2006, 17h03
  3. Réponses: 6
    Dernier message: 25/09/2006, 17h08
  4. Accéder aux propriétés d'une feuille de style liée
    Par b Oo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/05/2006, 08h34
  5. [C#]Accéder aux propriétés d'un User Control
    Par djoao dans le forum Windows Forms
    Réponses: 6
    Dernier message: 10/03/2006, 09h54

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