package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.Spanned;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.*;
import android.view.Gravity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import java.text.SimpleDateFormat;
import java.util.Date;
public class new_cost extends AppCompatActivity {
private DBHelper helper;
private Spinner et_cost_se;
private EditText et_cost_title;
private EditText et_cost_money;
private DatePicker dp_cost_date;
private String[] list=new String[]{"收入","支出"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new_cost);
initView();
}
private void initView() {
helper = new DBHelper(new_cost.this);
et_cost_se=findViewById(R.id.spin);
et_cost_title = findViewById(R.id.et_cost_title);
et_cost_money = findViewById(R.id.et_cost_money);
dp_cost_date = findViewById(R.id.dp_cost_date);
Spinner sp=findViewById(R.id.spin);
ArrayAdapter<String> adapter=new ArrayAdapter<>(this,R.layout.text,list);
sp.setAdapter(adapter);//下拉框文本适配
}
public void okButton(View view) {
String seStr=et_cost_se.getSelectedItem().toString();
String titleStr = et_cost_title.getText().toString().trim();
String moneyStr = et_cost_money.getText().toString().trim();
String dateStr = dp_cost_date.getYear() + "-" + (dp_cost_date.getMonth() + 1) + "-"
+ dp_cost_date.getDayOfMonth();//这里getMonth会比当前月份少一个月,所以要+1
if ("".equals(moneyStr)) {//可以不填写Title但是不能不填金额
Toast toast = Toast.makeText(this, "请填写金额", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
}
else {
if(seStr.equals("收入"))
{
StringBuilder sb = new StringBuilder(moneyStr);
sb.insert(0, "+");
moneyStr=sb.toString();
}
else {
StringBuilder sb = new StringBuilder(moneyStr);
sb.insert(0, "-");
moneyStr=sb.toString();
}
String[] strArr1=dateStr.split("-");
if(strArr1[1].length()==1)//保证日期格式对齐
{
StringBuilder sb = new StringBuilder(strArr1[1]);
sb.insert(0, "0");
dateStr=strArr1[0]+"-"+sb.toString();
}
StringBuilder sb = new StringBuilder(strArr1[2]);
if(strArr1[2].length()==1)
{
sb.insert(0, "0");
}
dateStr=dateStr+"-"+sb.toString();
SQLiteDatabase db = helper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("Se",seStr);
values.put("Title", titleStr);
values.put("Money", moneyStr);
values.put("Date", dateStr);
long account = db.insert("account2", null, values);
if (account > 0) {
Toast toast = Toast.makeText(this, "保存成功", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
setResult(1);
finish();
} else {
Toast toast = Toast.makeText(this, "请重试", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
db.close();
}
setResult(1);
finish();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通