1

I have two buttons. The first button - depart and the second - arrival. At the date of departure minDate = today. And the arrival date minDate should be equal to the selected date of departure

onCreate():

final Calendar nextYear = Calendar.getInstance();
nextYear.add(Calendar.YEAR, 1);

Date today = new Date();
Date departs;

initButtonListeners(today, nextYear);

ButtonClickListener:

public void initButtonListeners(final Date today, final Calendar nextYear) {
    findViewById(id.linearCalendar).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showCalendarInDialog("select departure date", R.layout.calendar_dialog_customized);

                dialogView.init(today, nextYear.getTime())
                        .withSelectedDate(new Date(departData));

        }
    });

    findViewById(id.linearArrive).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            showCalendarInDialog("select arrival date", R.layout.calendar_dialog_customized);

            Date dates = null;

                SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy");
                try {
                    dates = format.parse(departData);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                dialogView.init(dates, nextYear.getTime())
                        .withSelectedDate(new Date(arriveData));
            }

        }
    });

}

OnDateClickListener:

dialogView.setOnDateSelectedListener(new CalendarPickerView.OnDateSelectedListener() {
        DateFormat dateFormat = new SimpleDateFormat("dd MMM yyyy");

        @Override
        public void onDateSelected(Date date) {
            if(isFrom){
                departData = dateFormat.format(date);
                tvDepart.setText(departData);
            }else{
                arriveData = dateFormat.format(date);
                tvArrive.setText(arriveData);
            }

            theDialog.dismiss();

        }

        @Override
        public void onDateUnselected(Date date) {

        }

    });

When click on the arrival button crashes the app shows the value zero

Error:

java.lang.IllegalArgumentException: The string argument is null
 at java.util.Date.parse(Date.java:373)
 at java.util.Date.<init>(Date.java:149)
 at com.tezz.MainContent.ContentActivity$2.onClick(ContentActivity.java:305)
 at android.view.View.performClick(View.java:4084)
 at android.view.View$PerformClick.run(View.java:16966)
 at android.os.Handler.handleCallback(Handler.java:615)
 at android.os.Handler.dispatchMessage(Handler.java:92)
 at android.os.Looper.loop(Looper.java:137)
 at android.app.ActivityThread.main(ActivityThread.java:4745)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
 at dalvik.system.NativeStart.main(Native Method)

What is not right, how to put minDate?

No Name
  • 741
  • 8
  • 18
  • 1
    see this link http://stackoverflow.com/questions/13661788/how-to-set-minimum-datepicker-date-to-current-date – Arpit Patel Mar 07 '16 at 08:29
  • The time now I have already been added and it works. I need to the departs selected date to do the minimum to arrive – No Name Mar 07 '16 at 08:48

2 Answers2

0
try this 
if (event.value)
    {
      // Convert field value to a date
         var d = util.scand("mmddyyyy", event.value);
    // Set maximum date
         var d_max = new Date(2013, 11, 31, 23, 59, 59);
    // Set minimum date
        var d_min = new Date(2010, 11, 31, 23, 59, 59);
        if (d.getTime()>d_max.getTime() || d.getTime()<d_min.getTime()) {
        // Reject the entry
             event.rc = false;
              // Optionally, alert the user
                  app.alert("Message here.");
    }
}
0

Selected date should be today's date, because departData will be null.

findViewById(id.linearCalendar).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        showCalendarInDialog("select departure date", R.layout.calendar_dialog_customized);

            dialogView.init(today, nextYear.getTime())
                    .withSelectedDate(new Date());

    }
});
PyThon
  • 1,007
  • 9
  • 22