2010-07-17 5 views
0

Je travaille dans une application android qui utilise une vue de liste. J'ai actuellement un XML pour la disposition des lignes avec une seule vue de texte. Selon certaines conditions, certaines lignes auront un bouton supplémentaire et d'autres lignes peuvent avoir 2 boutons supplémentaires. Puis-je remplacer la méthode getView de la classe de l'adaptateur pour effectuer cette logique? Y a-t-il un problème de performance?Ajout de boutons lors de l'exécution à chaque ligne dans une vue de liste

Répondre

1

ont une disposition de la ligne avec 2 boutons, puis:

public View getView(int position, View convertView, ViewGroup parent){ 
    // the usual convertView stuff 
    if(convertView == null){ 
     convertView = layoutInflater.inflate(//TODO); 
     Tag tag = new Tag(); 
     convertView.setTag(tag); 
     tag.button1 = (Button)convertView.findViewById(R.id.btn1); 
     tag.button2 = (Button)convertView.findViewById(R.id.btn2); 
    } 
    Tag tag = (Tag)convertView.getTag(); 
    boolean buttonOneShown = //TODO; 
    boolean buttonTwoShown = //TODO; 
    tag.button1.setVisibility(buttonOneShown ? VISIBLE : GONE); 
    tag.button1.setVisibility(buttonTwoShown ? VISIBLE : GONE); 
} 

Performance serait très bien.

+0

Comment l'objet Tag est-il défini? Je n'arrive pas à le trouver dans la documentation de l'API Android ... – katzoft

Questions connexes