produitListAdapter.java :  » Log » premieremaquette » fr » smardine » android » premiereMaquette » Android Open Source

Android Open Source » Log » premieremaquette 
premieremaquette » fr » smardine » android » premiereMaquette » produitListAdapter.java
package fr.smardine.android.premiereMaquette;

import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

public class produitListAdapter extends BaseAdapter {
  
  private ArrayList<produit> produits;
  //crer un layoutinflater pour intgrer la listview dedans
  private LayoutInflater myInflater;
  

  public produitListAdapter(Context context, ArrayList<produit> _produits) {
    // paramtrer le layout en prenant celui du context
    this.myInflater = LayoutInflater.from(context);
    this.produits = _produits;
  }
  
  
  @Override
  public int getCount() {
    // TODO Auto-generated method stub
    return this.produits.size();
  }

  @Override
  public Object getItem(int arg0) {
    // TODO Auto-generated method stub
    return this.produits.get(arg0);
  }

  @Override
  public long getItemId(int arg0) {
    // TODO Auto-generated method stub
    return arg0;
  }

  
  /*
   * astuce pour fluidifier au mieux l'affichage de la listview
   * mmoriser le contenu des composants visuels qui sont prsents dans
   * une ligne de la listview
   * La classe peut tre dclare dans un autre module pour tre rutilise
   * @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
   */
  public static class ViewHolder {
    TextView text01;
    TextView text02;
  }
  
  
  
  /*
   * cette mthode est appele  chaque fois que la listview doit
   * afficher une ligne
   * @see android.widget.Adapter#getView(int, android.view.View, android.view.ViewGroup)
   */
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    //convertView peut dj tre initialis sinon alors l'initialiser
    if (convertView == null ) {
      //affecter un linearlayout propre  la ligne  afficher dans le listview
      convertView = myInflater.inflate(R.layout.produitlistitem, null);
      holder = new ViewHolder();
      holder.text01 = (TextView)convertView.findViewById(R.id.txtNom);
      holder.text02 = (TextView)convertView.findViewById(R.id.txtDetail);
      //tagger le convertView avec ce Holder cr pour que l'association se fasse
      convertView.setTag(holder);
    } else {
      //puisque dj valoris une fois alors rcuprer le holder  partir du tag pos  la cration
      holder = (ViewHolder)convertView.getTag();
    }
    holder.text01.setText(produits.get(position).nom);
    holder.text02.setText(produits.get(position).detail);
    
    return convertView;
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.