Tôi đang cố gắng triển khai ListView với chức năng Xóa để xóa mục khỏi chế độ xem danh sách. Tôi thành công để xóa nhưng không làm mới listview sau khi xóa một mục từ cơ sở dữ liệu.Android - Chế độ xem danh sách xóa và Làm mới
Thực ra, hãy nhấp vào danh sách, tôi đang hiển thị AlertBox cho hành động "Xóa" và "Hủy", khi nhấp vào "Xóa", mục phải được xóa khỏi cơ sở dữ liệu và cũng như làm mới listview và listview. Tôi cũng đã sử dụng phương pháp notifyDataSetChanged()
.
lview = (ListView) findViewById(R.id.lview);
adapter = new ListView_CustomAdapter(this, listitemDisplay);
lview.setAdapter(adapter);
lview.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long id)
{
Show_Alert_box(v.getContext(),"Please select action.",position);
}
});
và mã cho Show_Alert_box:
public void Show_Alert_box(Context context, String message,int position)
{
final int pos = position;
final AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(getString(R.string.app_name_for_alert_Dialog));
alertDialog.setButton("Delete", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
try
{
db.open();
String[] whereArgs={String.valueOf(pkID)};
return db.delete(DATABASE_TABLE_4,"pk_pkID == ?",whereArgs);
adapter.notifyDataSetChanged();
db.close();
}
catch(Exception e)
{
}
} });
alertDialog.setButton2("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
alertDialog.dismiss();
} });
alertDialog.setMessage(message);
alertDialog.show();
}
Loại bộ điều hợp nào bạn đang sử dụng? Nếu bạn đang sử dụng CursorAdapter, những gì bạn mô tả sẽ hoạt động. – Juhani
Mods không xóa câu hỏi vì bạn không hài lòng với câu trả lời, xin lỗi. – Will