2010-10-11 3 views
0

sur iPhone vous avez quelque chose comme ceci:Réutilisation des lignes Android avec des identifiants CellIdentifier semblables à ceux de l'iPhone?

static NSString *Celldentifier = @"Section1_Cell"; 
UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier: CellIdentifier]; 

où le CellIdentifier est utilisé pour dequeue cellules d'un « type » spécifique des cellules. Ainsi, si vous avez plus d'une section dans une vue de table et que les cellules de chaque section suivent une conception différente, vous pouvez définir le «type» de cellule à déqueue en fonction de leur identificateur de cellule. Cela évite alors de réutiliser le mauvais type de cellule pour une section qui doit dessiner une cellule différente.

Je me demande comment cela peut être fait sur Android. Je sais que vous pouvez réutiliser les lignes en remplaçant votre méthode getView de l'adaptateur (...) comme ci-dessous

@Override 
public View getView(int position, View convertView, ViewGroup parent){ 
View row = convertView; 
CustomRowWrapper wrapper = null; 
if (row == null){ 
      // inflate your row layout and create a new row object from it 
     } 

mais cela ne fonctionne que si toutes les cellules sont exactement les mêmes. Si vous voulez faire la différence entre les types de ligne, cela ne suffit pas et vous pouvez voir en faisant défiler votre liste que le mauvais type de ligne est réutilisé à la place de vos différents ensembles car il n'y a rien à dire à l'adaptateur. de rangée à réutiliser.

Des suggestions alors comment cela peut-il être fait sur Android?

+0

Je pense que votre question a déjà été répondu [ici] (http://stackoverflow.com/questions/1660417/android-efficientadapter-with- deux vues différentes). – cement

+0

Merci, n'a pas rencontré cela en cherchant. Probablement aurait dû utiliser différents termes de recherche. – serk01

Répondre

Questions connexes