我想在CardView 上显示特定月份而不使用 NEXT和PREVIOUS箭头来浏览日历。如果我想在2010年2月展示用户必须只看到2010年2月。他们不能去下一个月或上个月。
我按照this Stack Overflow回答来显示特定的月份,但这对我不起作用。它显示我案件的当前日期和月份的所有时间。我不确定是否可以禁用NEXT-PREVIOUS导航。
我的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>
我的片段类的
onCreateView
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_calendar_view, container, false);
int year = 2010, month = 2, day = 1;
CalendarView calendarView = (CalendarView) view.findViewById(R.id.calendarViewT);
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day); //want to show full month of February 2010
calendarView.setMinDate(calendar.getTimeInMillis());
return view;
}
如何在没有下次导航的情况下显示2月份?
答案 0 :(得分:4)
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());
其中calendar
是CalendarView
。
答案 1 :(得分:1)
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);
此处mCalendarView是Android日历视图