1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
class PretAdapter extends ArrayAdapter<PretData> {
{
public PretAdapter(Context context, List<PretData> objects)
{
super(context,R.layout....,objects);
}
@Override
public long getItemId(int index) {
return getItem(index).getId();
}
// le onClickListener est invariable et réentrant, il n'a donc pas interêt à être instancé pour chaque bouton, il peut global à l'adapter.
View.OnClickListener deleteHandler = new View.OnClickListener() {
public void onClick(View v) {
Integer index = (Integer)v.getTag();
PretData item = PretAdapter.this.getItem(index.intValue());
PretBDD unPretBdd = new PretBDD(context);
unPretBdd.open();
unPretBdd.removePret(item.getId());
unPretBdd.close();
PretAdapter.this.remove(item);
notifyDataSetChanged();
}
}
@Override
public View getView(int index, View convertView, ViewGroup parent) {
View result = super.getView(index,convertView,parent);
PretData item = getItem(index);
ViewHolder holder = (ViewHolder)result.getTag();
if (holder == null) {
holder = new ViewHolder() ;
holder.obj = (TextView)result.findViewById(R.id.leNomObjet) ;
holder.pers = (TextView)result.findViewById(R.id.leNomPersonne) ;
holder.num = (TextView)result.findViewById(R.id.leNumPersonne) ;
holder.btnDeleteHF = (ImageButton)result.findViewById(R.id.imageButtonSupprimer);
holder.btnDeleteHF.setOnClickListener(deleteHandler);
result.setTag(holder) ;
}
holder.obj.setText(item.getObject());
holder.pers.setText(item.getNomPersonne());
holder.num.setText(item.getNumPersonne()) ;
holder.btnDeleteHF.setTag(Integer.valueOf(index));
return result ;
} |
Partager