如何在Android日历视图上仅显示特定月份?

如何在Android日历视图上仅显示特定月份?,android,android-calendar,calendarview,Android,Android Calendar,Calendarview,我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去 我按照堆栈溢出的答案显示了一个具体的月份,但它对我不起作用。它始终显示我的案例的当前日期和月份。我不确定是否可以禁用下一个或上一个导航 我的XML: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="ht

我想在CardView上显示一个特定的月份,而不使用下一个和上一个箭头来导航日历。如果我想显示2010年2月,用户只能看到2010年2月。他们下个月或上个月不能去

我按照堆栈溢出的答案显示了一个具体的月份,但它对我不起作用。它始终显示我的案例的当前日期和月份。我不确定是否可以禁用下一个或上一个导航

我的XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="megaminds.dailyeditorialword.Fragments.CalendarViewFragment">

<CalendarView
    android:id="@+id/calendarViewT"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:firstDayOfWeek="7">

</CalendarView>
如果没有下一个导航,如何仅显示2月份

Calendar febFirst=Calendar.getInstance();

febFirst.set(2017, 1, 1, 0, 0, 0);

calendar.setMinDate(febFirst.getTimeInMillis());

Calendar febLast=Calendar.getInstance();

febLast.set(2017, 2, 0, 0, 0, 0);

calendar.setMaxDate(febLast.getTimeInMillis());
calendar.setDate(febFirst.getTimeInMillis());
其中
日历
日历视图

int day = 16;
int month =8;
int year =2017;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, day);
     long milliTime = calendar.getTimeInMillis();
mCalendarView.setDate (milliTime, true, true); 


这里的McAllendarView是Android日历视图

非常感谢。很好。另一个问题,这里总是标记该月的第一天。我可以禁用它吗?如果我显示当前月份,日期选择器将选择当前日期。如果我显示另一个月(不是当前月),那么选择器默认情况下不应选择第一个日期。可能吗?@HasanAbdullah:“这里总是标记该月的第一个日期”--不,它标记您通过
setDate()
请求的日期。“我可以禁用它吗?”——我不知道,因为
CalendarView
的目的是让用户选择一个日期。也许正确的答案是您不要使用
日历视图
,而是使用。它通过“下一个”和“上一个”按钮显示特定月份。@HasanAbdullah您可以使用Android自定义日历视图进行更多样式设置,您可以在其上使用“下一个”和“上一个”按钮
int day = 16;
int month =8;
int year =2017;
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month); calendar.set(Calendar.DAY_OF_MONTH, day);
     long milliTime = calendar.getTimeInMillis();
mCalendarView.setDate (milliTime, true, true);