Ich mache eine ToDo-Liste und habe Probleme beim Löschen eines Elements aus ListView.Android Studio, ListView-Objekt entfernen, ohne ein anderes Element zu beeinträchtigen
Wenn der Benutzer eine Sache auf seiner Liste getan hat, kann er auf das Element klicken und es wird entweder durchgestrichen sein, oder der Streik wird trhough rückgängig gemacht werden:
lv.setOnItemClickListener(new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView) view;
int i_strikethrough = tv.getPaintFlags();
if(i_strikethrough == 1297){
tv.setPaintFlags(tv.getPaintFlags() & (~Paint.STRIKE_THRU_TEXT_FLAG));
} else if (i_strikethrough == 1281){
tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
}
}
});
Wenn der Benutzer eine lange macht klicken, öffnet sich eine Meldung, und er kann wählen, diesen Inhalt löschen:
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener(){
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle("Delete");
alertDialogBuilder.setMessage("Are you sure you want to delete?");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
adapterInhalt.remove(adapterInhalt.getItem(position));
}
});
alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialogInterface, int i)
{
dialogInterface.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
return true;
}
});
Nun ist mein Problem folgendes:
der zweite Artikel Imagine wird durchgestrichen, aber die thi rd ist nicht.
Wenn ich das zweite Element lösche, dann ist das dritte Element an zweiter Stelle und wird durchgestrichen. Aber es sollte nicht durchgestrichen werden.
Ich hoffe, dass Sie mein Problem verstehen und dass Sie mir helfen können, dieses Problem zu lösen.
Ich hoffe, dieses Bild wird Ihnen helfen, das Problem zu verstehen: A helping Picture
wir müssen uns Ihren vollständigen Adaptercode ansehen .. !! –