|
|
@@ -3,6 +3,7 @@
|
|
|
*/
|
|
|
package kr.co.zumo.app.lifeplus.view;
|
|
|
|
|
|
+import android.os.Handler;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
|
|
|
@@ -21,6 +22,7 @@ public class IndexScrollListener extends RecyclerView.OnScrollListener {
|
|
|
private final LinearLayoutManager layoutManager;
|
|
|
private final IChangedPageIndex listener;
|
|
|
private int currentPageIndex = 0;
|
|
|
+ private boolean changed = false;
|
|
|
|
|
|
public IndexScrollListener(LinearLayoutManager layoutManager, IChangedPageIndex listener) {
|
|
|
this.layoutManager = layoutManager;
|
|
|
@@ -29,7 +31,15 @@ public class IndexScrollListener extends RecyclerView.OnScrollListener {
|
|
|
|
|
|
@Override
|
|
|
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
|
|
+ if (newState == RecyclerView.SCROLL_STATE_IDLE && changed) {
|
|
|
+ changed = false;
|
|
|
|
|
|
+ new Handler().postDelayed(() -> {
|
|
|
+ if (null != listener) {
|
|
|
+ listener.onChangedPageIndex(currentPageIndex);
|
|
|
+ }
|
|
|
+ }, 50);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -38,7 +48,7 @@ public class IndexScrollListener extends RecyclerView.OnScrollListener {
|
|
|
|
|
|
if (index > -1 && currentPageIndex != index) {
|
|
|
currentPageIndex = index;
|
|
|
- listener.onChangedPageIndex(currentPageIndex);
|
|
|
+ changed = true; // idle 일 때만 갱신
|
|
|
}
|
|
|
}
|
|
|
|