android studio记账,Android Studio--家庭记账本(五)

想到每次删除之后将表单自动初始化,却发现会导致除去已经删除的不在出现在表单上,数据库中剩余的数据还会再次出现在表单中。导致表单上的数据越来越多。后来又想到,当我实现删除之后,把表单采用全部清除,再重新初始化。果然这个方法实现了完整的删除与自动更新功能。

public void onClick(DialogInterface dialog, intwhich) {

CostBean costBean=newCostBean();

costBean.costTitle=title.getText().toString();//将用户输入的删除标题“cost_title”传给costbean.title

mDatabaseHelper.deleteCost(costBean);//删除数据库中数据

mCostBeanList.clear();//清除表单

initCostData();//重新从数据库中初始化表单的数据

mAdapter.notifyDataSetChanged();//刷新表单

}

SQLite数据库删除代码:

public voiddeleteCost(CostBean costBean){

SQLiteDatabase database=getWritableDatabase();//接受costbean的数据

database.delete(TABLE,"cost_title=?",newString[]{costBean.costTitle});

//删除表“TABLE”中“cost_title”为newString[]{costBean.costTitle}的数据,即前面传来的cost_title

}

将收入与支出分开来记,但是都存储在同一数据库中了,就是简单的两个button,在金额前面加上了“+”、“-”

同时又增加了清除账单的功能,即将数据库中的数据全部清除,当点击清除表单的时候,会跳出对话框,让用户确认是否全部删除。

Button btn_delete_all =findViewById(R.id.btn_delete_all);

btn_delete_all.setOnClickListener(newView.OnClickListener() {

@Overridepublic voidonClick(View v) {

AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);

builder.setPositiveButton("确定", newDialogInterface.OnClickListener() {

@Overridepublic void onClick(DialogInterface dialog, intwhich) {

mDatabaseHelper.deleteAllData();//需要用到sqlite语句

mCostBeanList.clear();//清除表单

mAdapter.notifyDataSetChanged();

}

});

builder.setNegativeButton("取消",null);

builder.setMessage("确定要清除所有账单吗?");

builder.setTitle("提示");

builder.create().show();

}

});

DatabaseHelper.java里面删除数据库中TABLE

public voiddeleteAllData(){

SQLiteDatabase database=getWritableDatabase();

database.delete(TABLE,null,null);

}

65385d0215351e688071a513de7b2cf4.png

9f19fd0bdab7ec1cd607cfec9c9da912.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值