[android]DatePickerDialog.OnDateSetListener 不会回调三星设备上

来源:互联网 发布:人脸识别asm算法 编辑:程序博客网 时间:2024/06/05 03:08



http://www.itstrike.cn/Question/682bf9dd-8ee1-4fbe-a392-18f91918e90b.html

一些奇怪的原因,当我点击积极按钮作为 DatePickerDialog 的一部分作为 DateSetListener 的一部分的 onDateSet 方法并不获取调用只有对三星设备

这里是自己在做什么:

DateSetListener _datePickerDialogCallback = new DateSetListener();DatePickerDialog _datePickerDialog = new DatePickerDialog(context, _datePickerDialogCallback, year, month, days);_datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, StringUtil.getString(R.string.command_ok), new DialogInterface.OnClickListener() {    public void onClick(DialogInterface arg0, int arg1) {      _done = true;    }  });_datePickerDialog.show();private class DateSetListener implements DatePickerDialog.OnDateSetListener {  public void onDateSet(DatePicker view, int year, int month, int day) {    Calendar calendar = Calendar.getInstance();    calendar.set(year, month, day, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE),        calendar.get(Calendar.SECOND));    if (_done) {      _view.setText(formatDate(calendar.getTime()));    }  }}

为什么这可能发生在任何建议将不胜感激。请注意这是仅在三星设备

解决方法 1:

它看起来不需要定义 datePickerDialog 时定义从 ICS 和上面,回调。但是,onPositiveButtonClick 和 onNegativeButtonClick 要调用的回调。就像这样:

    _datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener() {      public void onClick(DialogInterface arg0, int arg1) {        _done = true;        DatePicker datePicker = _datePickerDialog.getDatePicker();        _datePickerDialogCallback.onDateSet(datePicker, datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth());      }    });
0 0
原创粉丝点击