使用了一段时间后,发现如果录入信息错误无法将这条已保存的信息进行删除。所以增加一个删除的操作。
首先在数据库中增加一条按id进行删除的方法。
/*根据id删除一条数据*/ public static int deleteAccount(int id) { int i = db.delete("tb_account", "id=?", new String[]{String.valueOf(id)}); return i; }
那么我们可以在主界面长按进行删除。在主界面ListView中添加长按的监听事件。
public void setListViewLongClickListener() { lv_today_info.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { if (position == 0) { return false; } int pos = position-1; AccountBean bean = mDats.get(pos); int click_id = bean.getId(); /*弹出提示用户删除的对话框*/ showDeleteItemDialog(bean); return false; } });
提示用户是否需要删除。如果确定则删除,如果取消则返回。
/*弹出是否删除某一条记录的对话框*/ public void showDeleteItemDialog(AccountBean bean) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("删除").setMessage("确定删除") .setNegativeButton("取消", null) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { /*执行删除操作*/ int i = DBManager.deleteAccount(bean.getId()); mDats.remove(bean); adapter.notifyDataSetChanged(); setTopTVShow(); } }); builder.create().show(); }