2017-10-13 5 views
0

J'essaie de faire un listview avec beaucoup de données, mais quand je construis, les données de l'article sur liste multiple se répètent.Listview Répétition des articles

C'est MYJAVA CustomAdapter

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    ViewHolder holder = null; 
    LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 

    if (convertView == null) { 
     convertView = mInflater.inflate(R.layout.list_item, null); 
     holder = new ViewHolder(); 

     holder.Name = (TextView) convertView.findViewById(R.id.Recipe_Name); 
     holder.Image_Block = (ImageView) convertView.findViewById(R.id.Recipe_Image); 
     holder.Text_Recipe = (TextView) convertView.findViewById(R.id.Recipe_Text); 
     holder.Text_Rarity = (TextView) convertView.findViewById(R.id.Recipe_Rarity); 

     RowItem row_pos = rowItems.get(position); 

     holder.Image_Block.setImageResource(row_pos.getImage_Block()); 
     holder.Name.setText(row_pos.getName()); 
     holder.Text_Recipe.setText(row_pos.getText_Recipe()); 
     holder.Text_Rarity.setText(row_pos.getText_Rarity()); 

     convertView.setTag(holder); 
    } 
    else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    return convertView; 
} 

Tout le monde peut fixer? Merci

+0

Bien sûr, vous devez définir les données sur le support après la création ou le réglage. – kimkevin

Répondre

2

Vos données ne se répètent pas - lorsque vous réutilisez une ancienne vue, vous ne l'initialisez pas à de nouvelles valeurs. Déplacez le code qui définit les valeurs (pas le code qui établit les connexions) en dehors de l'instruction if-else.

+1

Merci! Ça fonctionne maintenant –