开发用到一个日期对话框控件,其他机型都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();