onClick Listener zu einem ListView Image - Android

Ich habe einListView mit einem Bild über der rechten Seite. und ich wollte eineonClick Listener-Ereignis durch Klicken auf das Bild auf derListView. Bitte beachten Sie das Bild als Referenz.

Ich weiß grundlegendOnClick Implementierungen für Hörer, aber das scheint mir ein wenig knifflig zu sein: P

Vergessen zu erwähnen, indem Sie auf die aktuelle klickenListView wird eine neue Aktivität aufnehmen, daher muss ich beide Schemata pflegen.

 listView.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {
            eventsData.remove(id);
            cursor.requery(); 
        }

    });   

Mit dem obigen Code können Sie einen Löschvorgang ausführen, indem Sie auf ein Listenelement klickeneventsData.remove(id); ist ein Datenbankhelfer zur Ausführung dieser Aufgabe. Wie ich bereits sagte, brauche ich eine Methode, um denselben Vorgang auszuführen, indem ich auf das Bild klicke und nicht auf das gesamte Listenelement. Ich möchte, dass das Listenelement später eine andere Aktion ausführt.

Ich hoffe jetzt bin ich ein bisschen klar.

Die Lösung:

Wenn jemand auf die gleiche Situation stößt, finden Sie hier den vollständigen Code für den Adapter.

 class CustomAdapter extends ArrayAdapter<String> {
 CustomAdapter() {
  super(Activity.this, R.layout.row, R.id.label, items);
}

public View getView(final int position, View convertView,
                    ViewGroup parent) {
  View row=super.getView(position, convertView, parent);
  deleteImg=(ImageView)row.findViewById(R.id.icon);

  deleteImg.setImageResource(R.drawable.delete);      
  deleteImg.setOnClickListener(new OnClickListener() {
      String s = items[position];
    @Override
    public void onClick(View v) {
        Toast.makeText(context, s, Toast.LENGTH_SHORT).show();          
    }
});

  return(row);
}

}

Ich weiß, dass die Codierung ein bisschen beschissen ist, also nimm sie mit, ich möchte nur den tatsächlichen Prozess zeigen, bei dem es sich handelt.

Es funktioniert für mich :)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage