diff --git a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java index 20514b431dd..a583e54a5f6 100644 --- a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java +++ b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java @@ -495,22 +495,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);