How do I display a CalendarView in an AlertDialog?

PlayerGurl89 picture PlayerGurl89 · Sep 8, 2012 · Viewed 13.6k times · Source

I'm trying to display the CalendarView in an Alert Dialog, but all that shows up is the month/year and the days of the week. These are the contents of the layout file:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
<CalendarView
    android:id="@+id/calendarID"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:contentDescription="@string/cal_desc"
    android:maxDate="01/01/2013"
    android:minDate="09/01/2012"
    android:showWeekNumber="false"
    android:tag="my tag" />
</LinearLayout>

This is the code I used to add the layout to an AlertDialog:

LayoutInflater inflater = (LayoutInflater)getApplicationContext().getSystemService
              (Context.LAYOUT_INFLATER_SERVICE);
LinearLayout ll= (LinearLayout)inflater.inflate(R.layout.myLayout, null, false);
CalendarView cv = (CalendarView) ll.getChildAt(0);
cv.setOnDateChangeListener(new OnDateChangeListener() {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month,
                int dayOfMonth) {
            // TODO Auto-generated method stub
            initScheduleEvent();
        }
    });
new AlertDialog.Builder(MomAppActivity.this)
    .setTitle("Event Calendar")
    .setMessage("Click to schedule or view events.")
    .setView(ll)
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            //do nothing...yet
        }
    }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
            // Do nothing.
        }
    }
    ).show();

Any help would be greatly appreciated seeing as I am completely stumped. The application isn't giving me any errors to go on.

Answer

PlayerGurl89 picture PlayerGurl89 · Sep 24, 2012

A minimum height was required for the calendar to show up properly. The rest of the code worked fine.