andorid开发--记账本(九)

gyg1222 / 2024-02-28 / 原文

今天设置了预算设置对话框的弹出等

package com.example.myapplication.utils;

import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

import androidx.annotation.NonNull;

import com.example.myapplication.R;

public class BudgetDialog extends Dialog implements View.OnClickListener {
    ImageView canvelIv;
    Button ensureBtn;
    EditText moneyEt;

    public  interface OnEnsureListener{
        public void OnEnsure(float money);
    }
    OnEnsureListener onEnsureListener;

    public void setOnEnsureListener(OnEnsureListener onEnsureListener) {
        this.onEnsureListener = onEnsureListener;
    }

    public BudgetDialog(@NonNull Context context) {
        super(context);
    }

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.dialog_budget);
        canvelIv=findViewById(R.id.dialog_budget_iv_error);
        ensureBtn=findViewById(R.id.dialog_budget_btn_ensure);
        moneyEt=findViewById(R.id.dialog_budget_et);
        canvelIv.setOnClickListener(this);
        ensureBtn.setOnClickListener(this);
        moneyEt.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if(v.getId()==R.id.dialog_budget_iv_error){
            cancel();
        } else if (v.getId()==R.id.dialog_budget_btn_ensure) {
            String data = moneyEt.getText().toString();
            if(TextUtils.isEmpty(data)){
                Toast.makeText(getContext(),"输入数据不能为空",Toast.LENGTH_SHORT).show();
                return;
            }
            float money = Float.parseFloat(data);
            if(money<=0){
                Toast.makeText(getContext(),"预算金额必须大于零",Toast.LENGTH_SHORT).show();
                return;
            }

            if (onEnsureListener!=null) {
                onEnsureListener.OnEnsure(money);
            }
            cancel();
        }
    }
}