diff --git a/.idea/modules.xml b/.idea/modules.xml index cbc5e91..d39fc4b 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -3,8 +3,11 @@ + + + \ No newline at end of file diff --git a/hypercube/build.gradle b/hypercube/build.gradle index 6301103..ca2c411 100644 --- a/hypercube/build.gradle +++ b/hypercube/build.gradle @@ -25,8 +25,8 @@ android { defaultConfig { minSdkVersion 15 targetSdkVersion 25 - versionCode 1445 - versionName "1.4.45" + versionCode 1446 + versionName "1.4.46" } buildTypes { release { diff --git a/hypercube/src/main/java/com/neurospeech/hypercube/ui/HeaderedAdapter.java b/hypercube/src/main/java/com/neurospeech/hypercube/ui/HeaderedAdapter.java index c6ce79a..a9ff6d1 100644 --- a/hypercube/src/main/java/com/neurospeech/hypercube/ui/HeaderedAdapter.java +++ b/hypercube/src/main/java/com/neurospeech/hypercube/ui/HeaderedAdapter.java @@ -181,6 +181,7 @@ public void onResult(Promise>> promise) { return; allItems = a; + lastVisiblePosition = -1; notifyDataSetChanged(); } }); @@ -297,6 +298,8 @@ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType return createViewHolder(inflater, parent, viewType); } + private int lastVisiblePosition = 0; + @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { HeaderOrItem item = allItems.get(position); @@ -305,6 +308,23 @@ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { return; } onBind((VH) holder, item.item); + + + if(position == allItems.size() - 1){ + if(lastVisiblePosition != position){ + lastVisiblePosition = position; + HyperCubeApplication.current.post(new Runnable() { + @Override + public void run() { + onOverScrolled(); + } + }); + } + } + } + + protected void onOverScrolled() { + } protected void onBind(VH holder, T item) {