public static DatePickerDialog showDateDialog(Context ctx, finalEditText editText)
{int year = 0;int month = 0;int day = 0;
//首次打开if(editText.getText().toString().length()==0) {
Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH);
day = c.get(Calendar.DAY_OF_MONTH);
}else{//有值的情况下
String currDate = editText.getText().toString();
year = Integer.valueOf(currDate.split("-")[0].toString());
month = Integer.valueOf(currDate.split("-")[1].toString())-1;
day = Integer.valueOf(currDate.split("-")[2].toString());
}final DatePickerDialog datePickerDialog = new DatePickerDialog(ctx,null,year,month,day);
datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE,"完成", newDialogInterface.OnClickListener() {
@Overridepublic void onClick(DialogInterface dialog, intwhich) {
DatePicker datePicker=datePickerDialog.getDatePicker();int year =datePicker.getYear();int month =datePicker.getMonth();int day =datePicker.getDayOfMonth();
StringBuilder monthBuilder= newStringBuilder();if (month + 1 < 10) {
monthBuilder.append("0");
}
monthBuilder.append(month+ 1);
StringBuilder dayBuilder= newStringBuilder();if (day < 10) {
dayBuilder.append("0");
}
dayBuilder.append(day);
editText.setText(year+ "-" + monthBuilder.toString() + "-" +dayBuilder.toString());
}
});
datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", newDialogInterface.OnClickListener() {
@Overridepublic void onClick(DialogInterface dialog, intwhich) {
datePickerDialog.cancel();
}
});
datePickerDialog.getDatePicker().setCalendarViewShown(false);returndatePickerDialog;
}