Bonsoir à tous,

Je travaille en ce moment sur une listeView contenant des boutons qui suppriment des valeurs d'une base de donnée.
J'en suis ici :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
 
package com.example.app;
 
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
 
import java.util.List;
import java.util.Map;
 
/**
 * Created by user pc on 30/01/14.
 */
public class PretAdapte extends BaseAdapter {
 
    List<? extends Map<String, ?>> data ;
    LayoutInflater inflater ;
    Integer key ;
    final Context context ;
 
    public PretAdapte(Context context, List<? extends Map<String, ?>> data, Integer key) {
        inflater = LayoutInflater.from(context) ;
        this.data = data ;
        this.key = key ;
        this.context = context ;
    }
 
    /**
     * retourne le nombre d'éléments de la listview
     */
    @Override
    public int getCount() {
        return data.size() ;
    }
 
    /**
     * retourne l'item de la listview à un index précis
     */
    @Override
    public Object getItem(int index) {
        return data.get(index) ;
    }
 
    /**
     * retourne l'index de l'élément actuel
     */
    @Override
    public long getItemId(int index) {
        return index;
    }
 
    /**
     * structure contenant les éléments d'une ligne
     */
    private class ViewHolder {
        TextView obj ;
        TextView pers ;
        TextView num ;
        ImageButton btnDeleteHF;
    }
 
    /**
     * Affichage dans la liste
     */
    @Override
    public View getView(int index, View convertView, ViewGroup parent) {
        final ViewHolder holder ;
        if (convertView == null) {
            holder = new ViewHolder() ;
            convertView = inflater.inflate(R.layout.lignelistviewpret, null) ;
            holder.obj = (TextView)convertView.findViewById(R.id.leNomObjet) ;
            holder.pers = (TextView)convertView.findViewById(R.id.leNomPersonne) ;
            holder.num = (TextView)convertView.findViewById(R.id.leNumPersonne) ;
            holder.btnDeleteHF = (ImageButton)convertView.findViewById(R.id.imageButtonSupprimer);
            convertView.setTag(holder) ;
        }else{
            holder = (ViewHolder)convertView.getTag();
        }
        holder.obj.setText((String)this.data.get(index).get("leNomObjet"));
        holder.pers.setText((String)this.data.get(index).get("leNomPersonne"));
        holder.num.setText((String)this.data.get(index).get("leNumPersonne")) ;
        holder.btnDeleteHF.setTag(Integer.parseInt(this.data.get(index).get("identifiant").toString()));
        holder.btnDeleteHF.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
 
                    int position = (Integer)v.getTag();
                    data.remove(position);
                    PretBDD unPretBdd = new PretBDD(context);
                    unPretBdd.open();
                    unPretBdd.removePret(position);
                    unPretBdd.close();
                    notifyDataSetChanged();
 
            }
 
        });
        return convertView ;
    }
 
}
Le truc c'est que je voudrais récupérer à la fois l'ID de la ligne à supprimer de la listView et l'ID de la ligne dans la base de données dans le OnClickListener du bouton.

Merci