zoram
zoram

Reputation: 512

Date Picker Dialogue . App crashes when i set Max and Min date

I have a date picker dialogue in which if i set MAX date and Min date together ,the app crashes. Whereas if i set only the min date or the max date it works fine.. help me find out where i'm going wrong.

   private void setDate(View c_c) {
    // TODO Auto-generated method stub

    final Dialog dialog = new Dialog(getParent());
    dialog.setContentView(R.layout.date_picker);
    dialog.setTitle("Select Date");
    DatePicker calendarView = (DatePicker) dialog.findViewById(R.id.date_picker_datepicker);

    try {
        Log.d("***ENC_dATE****",Utility.getCurrentDate()+"*******"+Utility.convertStringToMilli(Utility.getCurrentDate()));
        calendarView.setMinDate(Utility.convertStringToMilli(Utility.convertStringFormat(CommonObjects.patientsDtoEncounter.getEpisodeDate())));
        calendarView.setMaxDate(Utility.convertStringToMilli(Utility.getCurrentDate()));
    } catch (Exception e) {
        e.printStackTrace();
    }
    Button button = (Button) dialog.findViewById(R.id.btn_cancel_datepicker);

    button.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            dialog.dismiss();
        }


    });

    button = (Button) dialog.findViewById(R.id.btn_set_datepicker);
    button.setTag(c_c);

    // if button is clicked, close the custom dialog
    button.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {

            dialog.dismiss();
        }
    });

    dialog.show();

}

and this is My log.

08-26 11:31:26.127: D/***ENC_dATE****(1763): 26-Aug-13*******1377455400000
08-26 11:31:26.427: D/AndroidRuntime(1763): Shutting down VM
08-26 11:31:26.427: W/dalvikvm(1763): threadid=1: thread exiting with uncaught      exception (group=0x40a13300)
08-26 11:31:26.589: E/AndroidRuntime(1763): FATAL EXCEPTION: main
08-26 11:31:26.589: E/AndroidRuntime(1763): java.lang.NullPointerException
08-26 11:31:26.589: E/AndroidRuntime(1763):     at   android.widget.CalendarView.onScroll(CalendaView.java:1214)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at  android.widget.CalendarView.access$900(CalendarView.java:76)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.CalendarView$2.onScroll(CalendarView.java:1075)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.AbsListView.invokeOnItemScrollListener(AbsListView.java:1326)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.ListView.layoutChildren(ListView.java:1707)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.AbsListView.onLayout(AbsListView.java:2106)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at    a ndroid.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at    android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.layoutHorizontal(LinearLayout.java:1638)
 08-26 11:31:26.589: E/AndroidRuntime(1763):    at android.widget.LinearLayout.onLayout(LinearLayout.java:1422)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.onLayout(LinearLayout.java:1420)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
 08-26 11:31:26.589: E/AndroidRuntime(1763):    at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at    android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1649)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1507)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at a  ndroid.widget.LinearLayout.onLayout(LinearLayout.java:1420)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.widget.FrameLayout.onLayout(FrameLayout.java:448)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.View.layout(View.java:13754)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewGroup.layout(ViewGroup.java:4364)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:1868)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1689)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4214)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.Choreographer.doCallbacks(Choreographer.java:555)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.Choreographer.doFrame(Choreographer.java:525)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.os.Handler.handleCallback(Handler.java:615)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.os.Looper.loop(Looper.java:137)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at android.app.ActivityThread.main(ActivityThread.java:4745)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at java.lang.reflect.Method.invokeNative(Native Method)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at java.lang.reflect.Method.invoke(Method.java:511)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
08-26 11:31:26.589: E/AndroidRuntime(1763):     at dalvik.system.NativeStart.main(Native Method)

Upvotes: 1

Views: 967

Answers (1)

Terskel
Terskel

Reputation: 73

I had the same problem as you. In my app I have a fragment that extends the DatePickerDialog and displays it on the click of a button. The app chrashed on larger screens where there was enough space to display the calendar view of the date picker. For my app, however, the calendar view was not wanted, and by disabling it, the app did not crash any more when setting both min and max dates.

So, if it's the case for your app as well that you don't need the calendar view, try disabling it by calling setCalendarViewShown(false) on the date picker instance.

Upvotes: 2

Related Questions