Preeti Wadhwani
Preeti Wadhwani

Reputation: 315

Wheel datepickerdialog always shows current date

I am using a wheel datepicker dialog everytime I open it shows the current date not the date I set previously.

I am not able to find out where i should make changes.Thanks in advance.

here is the code:

public static void showDatePickerDialog(final Context ctx, final TextView view, final EditText preMobileNumberText) {

    final Handler mHandler = new Handler();
    final Calendar dateandtime = Calendar.getInstance(Locale.US);
    final DateFormat format = new SimpleDateFormat("MMM dd yyyy", Locale.US);


    DatePickerDailog dp = new DatePickerDailog(ctx, dateandtime,
            new DatePickerDailog.DatePickerListner() {

                @Override
                public void OnDoneButton(Dialog datedialog, Calendar c) {

                    dateandtime.set(Calendar.YEAR, c.get(Calendar.YEAR));
                    dateandtime.set(Calendar.MONTH, c.get(Calendar.MONTH));
                    dateandtime.set(Calendar.DAY_OF_MONTH,c.get(Calendar.DAY_OF_MONTH));
                    String selectedDate = new SimpleDateFormat(
                            "MMMM dd yyyy").format(c.getTime());


                    Date date = null;
                    Date cdate = null;
                    try {
                        date = format.parse(selectedDate);
                        long selectedmilliseconds = date.getTime();
                        cdate = format.parse(getCurrentDate());
                        long currentmilliseconds = cdate.getTime();

                        if ((selectedmilliseconds - currentmilliseconds) > 0) {
                            AlertDialogClass
                                    .showAlertNFC(
                                            ctx,
                                            "Please do not select the Future Date for Date of Birth",
                                            "Info");
                        } else {
                            datedialog.dismiss();
                            view.setText(selectedDate);
                        }

                    } catch (ParseException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    preMobileNumberText.requestFocus();
                    preMobileNumberText.requestFocusFromTouch();
                }

                @Override
                public void OnCancelButton(Dialog datedialog) {
                    // TODO Auto-generated method stub
                    datedialog.dismiss();
                    // preMobileNumberText.requestFocus();
                }
            });
    dp.getWindow().clearFlags(
            WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                    | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
    dp.show();
}

Upvotes: 0

Views: 729

Answers (2)

Pratik Dasa
Pratik Dasa

Reputation: 7439

Try below code:

Calendar cal=Calendar.getInstance();

        cal.set(Calendar.YEAR, YOUR YEAR VALUE);
        cal.set(Calendar.MONTH, YOUR MONTH VALUE);
        cal.set(Calendar.DAY_OF_MONTH, YOUR DAY VALUE);

        dateandtime.set(Calendar.YEAR, c.get(Calendar.YEAR));
        dateandtime.set(Calendar.MONTH, c.get(Calendar.MONTH));
        dateandtime.set(Calendar.DAY_OF_MONTH,c.get(Calendar.DAY_OF_MONTH));

Upvotes: 1

TheOnlyJakobob
TheOnlyJakobob

Reputation: 541

Just set the variables into the date you want. Thats it :)

DatePickerDialog dialog = new DatePickerDialog(this, datePickerListener, year, month, day);
dialog.show();

Upvotes: 0

Related Questions