如何让DatePickerDialog选择一个特定的日期?

时间:2015-04-02 06:46:54

标签: android

如果EditText的内容为空,则DatePickerDialog显示当前日期:

Calendar calendrier = Calendar.getInstance();
DatePickerDialog picker = new DatePickerDialog(ctxt, evt, calendrier.get(Calendar.YEAR), calendrier.get(Calendar.MONTH), calendrier.get(Calendar.DAY_OF_MONTH));

但是,如果此内容不为空,我希望DatePickerDialog根据EdiText的内容显示日期。怎么做?

3 个答案:

答案 0 :(得分:1)

这取决于用户将日期放在EditText中的格式。例如,如果格式为dd/MM/yyyy,则:

SimpleDateFormat formatter =
        new SimpleDateFormat("dd/MM/yyyy");

Date date = formatter.parse(eddittext.getText().toString());
Calendar calendrier = Calendar.getInstance();
calendrier.setTime(date);

DatePickerDialog picker = new DatePickerDialog(ctxt, evt, calendrier.get(Calendar.YEAR), calendrier.get(Calendar.MONTH), calendrier.get(Calendar.DAY_OF_MONTH));

这假设用户以正确的格式放置数据。

答案 1 :(得分:1)

您可以先从您的edittext获取字符串,然后将其转换为日期(请检查此http://www.mkyong.com/java/how-to-convert-string-to-date-java/以进行转换。) 然后从日期对象中获取年,月,日,并在显示这样的选择器时将其传递给日期选择器

datePicker.init(year, month, day, null);

你走了。干杯!!

答案 2 :(得分:1)

是的,你可以很容易地做到这一点 updateDate(int year, int month, int dayOfMonth)DatePicker方法,您必须将日期,月份和年份作为参数传递。