家庭记账本(七)删除操作

  使用了一段时间后,发现如果录入信息错误无法将这条已保存的信息进行删除。所以增加一个删除的操作。

  首先在数据库中增加一条按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();
    }
原文地址:https://www.cnblogs.com/Gazikel/p/14458442.html