私は現在、愚かな問題に直面しています。カスタムアダプター(CursorAdapterを拡張)を備えたリストビューがあります。
さまざまなボタン (共有、いいね、削除) を備えたカスタム ビューが表示されます。削除ボタンには、アイテムの削除を確認するための警告ダイアログがあります。ユーザーが確認すると、アイテムはデータベースから削除されます。ここまではすべて正常に動作します。
私の質問は、新しいデータセットでリストビューを効率的に更新するにはどうすればよいですか?
どうもありがとうございました。
コード:
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);
(...)
}
(...)
}