android软件简约记账app开发day08-时间对话框的书写+改bug,改bug
绘制对话跨页面
在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户选择时间,这里我们先绘制时间对话框,在layout中新建一个layout文件,命名为dialog_time,其中使用到了提供好了类DataPicker来展示日历效果,代码如下
效果图:
在页面绘制完成后,我们来书写java类来关联和管理该事件对话框
在util包下新建SelectTimeDialog类来关联该对话框,和之前一样,首先添加该页面上的所有控件
EditText hourEt,minuteEt;
DatePicker datePicker;
Button ensureBtn,cancelBtn;
在OnCerate方法中获取变量对象,并且添加OnClick方法为取消和确定添加单机事件,在点击了确定按钮后,我们要获取用户输入的时间,并做判断处理。其次在该方法中我也添加了隐藏时间对话框的头部的方法,因为该方法可能比较泛泛,所以我从网上找了一个,并且可以正常使用。
package com.open.tally.util;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import androidx.annotation.NonNull;
import com.open.tally.R;
/*
* 在记录页面弹出时间对话框
* */
public class SelectTimeDialog extends Dialog implements View.OnClickListener {
EditText hourEt,minuteEt;
DatePicker datePicker;
Button ensureBtn,cancelBtn;
public interface OnEnsureListener{
public void onEnsure(String time,int year,int month,int day);
}
OnEnsureListener onEnsureListener;
public void setOnEnsureListener(OnEnsureListener onEnsureListener) {
this.onEnsureListener = onEnsureListener;
}
public SelectTimeDialog(
