Tôi đang sử dụng CursorAdapter
trở xuống là lớp bộ điều hợp của mình. Danh sách của tôi bao gồm hai chế độ xem văn bản và một nút trên mỗi hàng. Bây giờ, khi nhấp vào nút, tôi muốn xóa mục đã chọn khỏi danh sách cũng như từ cơ sở dữ liệu. Làm thế nào tôi có thể nhận được id của mục đã chọn từ cơ sở dữ liệu để tôi có thể xóa nó và sau đó thông báo cho bộ điều hợp (làm mới danh sách).Cách xóa mục đã chọn khỏi ListView bằng CursorAdapter
public class MyAdapter extends CursorAdapter {
Cursor c;
LayoutInflater inflater;
Context context;
private String TAG = getClass().getSimpleName();
public MyAdapter(Context context, Cursor c) {
super(context, c);
this.c = c;
this.context = context;
inflater = LayoutInflater.from(context);
}
@Override
public void bindView(View view, Context context, final Cursor cursor) {
TextView txtName = (TextView) view.findViewById(R.id.txt_name);
txtName.setText(cursor.getString(cursor.getColumnIndex(Helper.tbl_col_username)));
TextView txtPassword = (TextView) view.findViewById(R.id.txt_password);
txtPassword.setText(cursor.getString(cursor.getColumnIndex(Helper.tbl_col_password)));
Button button = (Button) view.findViewById(R.id.btn_delete);
button.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Log.d(TAG, "Button Click ");
}
});
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
View v = inflater.inflate(R.layout.row, null);
return v;
}
}
Theo listview ràng buộc bạn với con trỏ và nếu bạn đang quản lý con trỏ với hoạt động đó trở đi onListItemClick mang đến cho bạn _ID mà bạn muốn nhưng ở đây bạn đang cố gắng để có được một _ID nhấp vào nút trong bindView sau đó bạn phải lấy ID tại trước khi bấm nút của bạn bằng cách sử dụng tên cột _ID và chuyển nó vào nút bấm của bạn, và sử dụng nó .. :-) – user370305