diff --git a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java index af9dd80430f..d5055f84b71 100644 --- a/lib/java/com/google/android/material/datepicker/MaterialCalendar.java +++ b/lib/java/com/google/android/material/datepicker/MaterialCalendar.java @@ -587,24 +587,16 @@ public void onClick(View view) { } }); - monthNext.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View view) { - int currentItem = getLayoutManager().findFirstVisibleItemPosition(); - monthsPagerAdapter.setKeyboardFocusDirection(View.FOCUS_FORWARD); - setCurrentMonth(monthsPagerAdapter.getPageMonth(currentItem + 1)); - } - }); - monthPrev.setOnClickListener( - new OnClickListener() { - @Override - public void onClick(View view) { - int currentItem = getLayoutManager().findLastVisibleItemPosition(); - monthsPagerAdapter.setKeyboardFocusDirection(View.FOCUS_BACKWARD); - setCurrentMonth(monthsPagerAdapter.getPageMonth(currentItem - 1)); - } - }); + monthNext.setOnClickListener(view -> { + monthsPagerAdapter.setKeyboardFocusDirection(View.FOCUS_FORWARD); + Month currentMonth = getCurrentMonth(); + setCurrentMonth(currentMonth.monthsLater(1)); + }); + monthPrev.setOnClickListener(view -> { + monthsPagerAdapter.setKeyboardFocusDirection(View.FOCUS_BACKWARD); + Month currentMonth = getCurrentMonth(); + setCurrentMonth(currentMonth.monthsLater(-1)); + }); int currentMonthPosition = monthsPagerAdapter.getPosition(current); updateNavigationButtonsEnabled(currentMonthPosition);