@@ -111,6 +111,7 @@ public class WeekView extends View {
111
111
private EmptyViewClickListener mEmptyViewClickListener ;
112
112
private EmptyViewLongPressListener mEmptyViewLongPressListener ;
113
113
private DateTimeInterpreter mDateTimeInterpreter ;
114
+ private ScrollListener mScrollListener ;
114
115
115
116
private final GestureDetector .SimpleOnGestureListener mGestureListener = new GestureDetector .SimpleOnGestureListener () {
116
117
@@ -429,8 +430,12 @@ private void drawHeaderRowAndEvents(Canvas canvas) {
429
430
}
430
431
431
432
// Iterate through each day.
433
+ Calendar oldFirstVisibleDay = mFirstVisibleDay ;
432
434
mFirstVisibleDay = (Calendar ) mToday .clone ();
433
435
mFirstVisibleDay .add (Calendar .DATE , leftDaysWithGaps );
436
+ if (!mFirstVisibleDay .equals (oldFirstVisibleDay ) && mScrollListener != null ){
437
+ mScrollListener .onFirstVisibleDayChanged (mFirstVisibleDay , oldFirstVisibleDay );
438
+ }
434
439
for (int dayNumber = leftDaysWithGaps + 1 ;
435
440
dayNumber <= leftDaysWithGaps + mNumberOfVisibleDays + 1 ;
436
441
dayNumber ++) {
@@ -973,6 +978,13 @@ public EmptyViewLongPressListener getEmptyViewLongPressListener(){
973
978
return mEmptyViewLongPressListener ;
974
979
}
975
980
981
+ public void setScrollListener (ScrollListener scrolledListener ){
982
+ this .mScrollListener = scrolledListener ;
983
+ }
984
+
985
+ public ScrollListener getScrollListener (){
986
+ return mScrollListener ;
987
+ }
976
988
/**
977
989
* Get the interpreter which provides the text to show in the header column and the header row.
978
990
* @return The date, time interpreter.
@@ -1449,6 +1461,17 @@ public interface EmptyViewLongPressListener {
1449
1461
public void onEmptyViewLongPress (Calendar time );
1450
1462
}
1451
1463
1464
+ public interface ScrollListener {
1465
+ /**
1466
+ * Called when the first visible day has changed.
1467
+ *
1468
+ * (this will also be called during the first draw of the weekview)
1469
+ * @param newFirstVisibleDay The new first visible day
1470
+ * @param oldFirstVisibleDay The old first visible day (is null on the first call).
1471
+ */
1472
+ public void onFirstVisibleDayChanged (Calendar newFirstVisibleDay , Calendar oldFirstVisibleDay );
1473
+ }
1474
+
1452
1475
1453
1476
/////////////////////////////////////////////////////////////////
1454
1477
//
0 commit comments