holder.abfrageloeschbutton.setOnClickListener( new View.OnClickListener() {
public void onClick(View v) {
Button mybutton = (Button)v;
AdressFinder adressfinder = (AdressFinder) mybutton.getTag();
int id = adressfinder.getID();
Utilities.loescheAdressAbfrage(getContext(),id);
String meldung = "Abfrage gelöscht";
Toast.makeText(context, meldung, Toast.LENGTH_SHORT).show();
// Eintrag aus liste löschen
adressfinderList.remove(adressfinder);
notifyDataSetChanged();
}
}); // ende Clicklistener favorit
Alles anzeigen
Ich hätts mal so probiert. Du hast ja bereits das Objekt selbst und List.remove(object) müsste eigentlich genau das Objekt auch finden.
ZitatAlles anzeigenpublic abstract boolean remove (Object object)
Added in API level 1
Removes the first occurrence of the specified object from this List.
Parameters
object the object to remove.
Returns
true if this List was modified by this operation, false otherwise.
Throws
UnsupportedOperationException if removing from this List is not supported.
Aber irgendwie kommt mir der Aufbau generell etwas seltsam vor ... das ganze in der getView machen, die wird ja mehrfach aufgerufen. Ich stell mir die Frage ob er evtl. schon im nächsten getView steckt, während der OnClickListener in einem eigenen Thread läuft und verhaut deshalb die Position .... probier den Code oben mal aus, vll. fruchtet es ja.
Gruß,
matze