diff --git a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java index 970ce385227..5f0f410f531 100644 --- a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java +++ b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java @@ -468,22 +468,14 @@ public void onClick(View view) { } }); - monthNext.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View view) { - int currentItem = getLayoutManager().findFirstVisibleItemPosition(); - setCurrentMonth(monthsPagerAdapter.getPageMonth(currentItem + 1)); - } - }); - monthPrev.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View view) { - int currentItem = getLayoutManager().findLastVisibleItemPosition(); - setCurrentMonth(monthsPagerAdapter.getPageMonth(currentItem - 1)); - } - }); + monthNext.setOnClickListener(view -> { + Month currentMonth = getCurrentMonth(); + setCurrentMonth(currentMonth.monthsLater(1)); + }); + monthPrev.setOnClickListener(view -> { + Month currentMonth = getCurrentMonth(); + setCurrentMonth(currentMonth.monthsLater(-1)); + }); int currentMonthPosition = monthsPagerAdapter.getPosition(current); updateNavigationButtonsEnabled(currentMonthPosition);