Attualmente sto affrontando un problema stupido. Ho un listview con un adattatore personalizzato (estendendo CursorAdapter).Come gestire l'eliminazione di un elemento su un CursorAdapter
Visualizza una vista personalizzata con pulsanti diversi (condividi, mi piace, elimina). Per il pulsante Elimina, ha un messaggio di avviso per confermare la rimozione dell'articolo. Quando l'utente conferma, l'elemento viene cancellato dal db. Tutto funziona bene fino a qui.
La mia domanda è, come posso aggiornare la mia list list in modo efficiente con il mio nuovo set di dati?
Grazie mille per il vostro aiuto.
Codice:
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);
(...)
}
(...)
}
ho implementato un'interfaccia sul mio adattatore per notificare l'elenco quando un elemento viene eliminato, quindi come suggerisco, riavvio il mio loader. Ora funziona ;) – colletjb