android 开发三星,小米手机datepicker日期控件onDateSet回调不执行解决方法

在Android开发中遇到一个日期选择对话框控件在三星手机上无法正常工作的问题,onDateSet方法未执行。通过在确定按钮的回调中直接获取DatePicker的日期,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发用到一个日期对话框控件,其他机型都ok,同事的三星手机选择不了日期,log跟踪,onDateSet方法没执行,后在确定按钮的回调方法中直接用datepicker
selectDate = "" + dpd.getDatePicker().getYear() + "-" + (dpd.getDatePicker().getMonth() + 1) + "-" + dpd.getDatePicker().getDayOfMonth();问题得到解决了.

  final DatePickerDialog dpd = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
//                selectDate = "" + year + "-" + (monthOfYear + 1) + "-" + dayOfMonth;
//                debugLog(TAG, "selectDate:"+selectDate);
                  //此处代码三星手机不执行.
            }
        }, calendar1.get(Calendar.YEAR), calendar1.get(Calendar.MONTH), calendar1.get(Calendar.DAY_OF_MONTH));
        dpd.setTitle(R.string.IDS_select_date);
        dpd.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.IDS_common_cancel), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                debugLog(TAG, "selectDate:"+selectDate);
                dpd.dismiss();
            }
        });
        dpd.setButton(DialogInterface.BUTTON_POSITIVE, getString(R.string.IDS_common_ok), new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dpd.dismiss();
                selectDate = "" + dpd.getDatePicker().getYear() + "-" + (dpd.getDatePicker().getMonth() + 1) + "-" + dpd.getDatePicker().getDayOfMonth();
                //此处调用控件代码可以执行.
                if (id == R.id.start_date) {
                    startDate_tv.setText(selectDate + "\n" + getString(R.string.IDS_start_date));
                } else {
                    endDate_tv.setText(selectDate + "\n" + getString(R.string.IDS_end_date));
                }
            }
        });
        dpd.getDatePicker().setCalendarViewShown(false);
        dpd.show();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值