Как отобразить CalendarView в AlertDialog?

Я пытаюсь отобразить CalendarView в диалоговом окне предупреждений, но все, что появляется, это месяц/год и дни недели. Это содержимое файла макета:

<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>

Это код, который я использовал для добавления макета в 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();

Любая помощь будет принята с благодарностью, поскольку я полностью озадачен. Приложение не дает мне никаких ошибок, чтобы продолжить.


person PlayerGurl89    schedule 08.09.2012    source источник


Ответы (3)


Для корректного отображения календаря требовалась минимальная высота. Остальной код работал нормально.

person PlayerGurl89    schedule 24.09.2012

Попробуйте этот CalendarDialogBuilder.

person Heitor Colangelo    schedule 24.06.2015

Если вам нужен индивидуальный дизайн для диалогового окна, вы можете создать свой собственный макет для диалогового окна с элементами макета и виджета.

попробуйте эти ссылки, надеюсь, вы найдете свой ответ

  1. http://www.mkyong.com/android/android-custom-dialog-example/

  2. http://developer.android.com/guide/topics/ui/dialogs.html

  3. http://www.helloandroid.com/tutorials/how-display-custom-dialog-your-android-application

person Deepak Swami    schedule 08.09.2012