@@ -108,6 +108,7 @@ public class WeekView extends View {
108
108
private EmptyViewClickListener mEmptyViewClickListener ;
109
109
private EmptyViewLongPressListener mEmptyViewLongPressListener ;
110
110
private DateTimeInterpreter mDateTimeInterpreter ;
111
+ private ScrolledListener mScrolledListener ;
111
112
112
113
private final GestureDetector .SimpleOnGestureListener mGestureListener = new GestureDetector .SimpleOnGestureListener () {
113
114
@@ -412,8 +413,12 @@ private void drawHeaderRowAndEvents(Canvas canvas) {
412
413
}
413
414
414
415
// Iterate through each day.
416
+ Calendar oldFirstVisibleDay = mFirstVisibleDay ;
415
417
mFirstVisibleDay = (Calendar ) mToday .clone ();
416
418
mFirstVisibleDay .add (Calendar .DATE , leftDaysWithGaps );
419
+ if (!mFirstVisibleDay .equals (oldFirstVisibleDay ) && mScrolledListener != null ){
420
+ mScrolledListener .onFirstVisibleDayChanged (mFirstVisibleDay , oldFirstVisibleDay );
421
+ }
417
422
for (int dayNumber = leftDaysWithGaps + 1 ;
418
423
dayNumber <= leftDaysWithGaps + mNumberOfVisibleDays + 1 ;
419
424
dayNumber ++) {
@@ -951,6 +956,13 @@ public EmptyViewLongPressListener getEmptyViewLongPressListener(){
951
956
return mEmptyViewLongPressListener ;
952
957
}
953
958
959
+ public void setScrolledListener (ScrolledListener scrolledListener ){
960
+ this .mScrolledListener = scrolledListener ;
961
+ }
962
+
963
+ public ScrolledListener getScrolledListener (){
964
+ return mScrolledListener ;
965
+ }
954
966
/**
955
967
* Get the interpreter which provides the text to show in the header column and the header row.
956
968
* @return The date, time interpreter.
@@ -1418,6 +1430,17 @@ public interface EmptyViewLongPressListener {
1418
1430
public void onEmptyViewLongPress (Calendar time );
1419
1431
}
1420
1432
1433
+ public interface ScrolledListener {
1434
+ /**
1435
+ * Called when the first visible day has changed.
1436
+ *
1437
+ * (this will also be called during the first draw of the weekview)
1438
+ * @param newFirstVisibleDay The new first visible day
1439
+ * @param oldFirstVisibleDay The old first visible day (is null on the first call).
1440
+ */
1441
+ public void onFirstVisibleDayChanged (Calendar newFirstVisibleDay , Calendar oldFirstVisibleDay );
1442
+ }
1443
+
1421
1444
1422
1445
/////////////////////////////////////////////////////////////////
1423
1446
//
0 commit comments