Mam obecnie do czynienia z głupim problemem. Mam listview z niestandardowym adapterem (rozszerzenie CursorAdapter).Jak zarządzać usuwaniem elementu na CursorAdapterie
Wyświetla niestandardowy widok z różnymi przyciskami (udostępnij, jak, usuń). W przypadku przycisku kasowania ma ostrzeżenie, aby potwierdzić usunięcie przedmiotu. Gdy użytkownik potwierdzi, element zostanie usunięty z bazy danych. Wszystko działa dobrze, aż tutaj.
Moje pytanie brzmi: jak mogę skutecznie zaktualizować mój listview z moim nowym zestawem danych?
Bardzo dziękuję za pomoc.
Kod:
public class CommentCursorAdapter extends CursorAdapter{
(...)
@Override
public void bindView(View view, Context arg1, Cursor cursor) {
(...)
holder.list_item_comment_discard_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final String _id = v.getTag().toString();
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
builder.setTitle("Delete");
builder.setMessage("Do you want to delete "+_id);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User clicked OK button
DBAdapter dba = new DBAdapter(mActivity);
dba.open();
dba.remove(_id);
Log.i("TAAG", "removed: "+_id);
dba.close();
// How to update the listview ??
}
});
builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});
AlertDialog d = builder.create();
d.show();
}
});
holder.list_item_comment_discard_btn.setTag(_id);
(...)
}
(...)
}
Zaimplementowałem interfejs na moim adapterze, aby powiadomić o liście, gdy element został usunięty, a następnie zgodnie z sugestią, ponownie uruchomię program ładujący. Teraz działa ;) – colletjb