2.16

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();
        }

    }
}
posted @ 2024-02-28 15:07  liuxuechao  阅读(55)  评论(0编辑  收藏  举报