DatePickerDialog与OnDateSetListener基本用法与常见问题

       日期时再显示更改控件一般我们使用构造方法public DatePickerDialog(@NonNull Context context, @Nullable OnDateSetListener listener, int year, int month, int dayOfMonth)可以

创建出一个DatePickerDialog对象。其中OnDateSetListener listener是用户日期设置完成后的回调监听器,该接口的void onDateSet(DatePicker view, int year, int month, intdayOfMonth);

方法内可以获取到用户设置的日期信息,在该方法内我们可以对用户输入的日期信息做进一步的操作。

       参数year、month、dayOfMonth用来初始化DatePickerDialog默认显示的日期。不过要注意参数month与Calendar类的month类似,都是从0开始表示,即1-12月依次对应0-11。通常
 
我们可以用Calendar.getInstance();获取到一个表示当前系统日期的Calendar对象,用该对象来初始化DatePickerDialog。
 
        在一般情况下,我们希望只有当用户确定其输入的日期信息后,才调用onDateSet()方法,但在这里无论是否确定输入,都会回调onDateSet()方法,这显然不是我们想要的。为什么

会出现这样的情况呢?

         首先,我们知道当Dialog被关闭时,如按下“取消”、“确定”、返回键或Dialog以外的部分,都会调用dismiss()方法,进一步调用onStop()方法。而从Android 4.1到Android4.4(API 16-19),DatePickerDialog的源码都重写了onStop()方法。


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值