From fa2adc10eaff72b339c3aa2a91d908f73cc3f1f3 Mon Sep 17 00:00:00 2001 From: SplashCodes Date: Tue, 9 May 2017 17:13:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86=E6=9C=BA?= =?UTF-8?q?=E5=9E=8B=E4=B8=8A=E6=94=B6=E8=97=8F=E5=A4=B9=E4=BE=9D=E6=97=A7?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=EF=BC=8C=E5=8F=8A=E6=97=A0=E6=B3=95=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../github/javiewer/fragment/ActressesFragment.java | 7 ++++++- .../io/github/javiewer/fragment/DownloadFragment.java | 7 ++++++- .../io/github/javiewer/fragment/MovieFragment.java | 7 ++++++- .../io/github/javiewer/fragment/RecyclerFragment.java | 9 ++++++--- .../{ => view}/listener/BasicOnScrollListener.java | 11 ++++++++--- .../{ => view}/listener/EndlessOnScrollListener.java | 2 +- app/src/main/res/layout/content_movie_actresses.xml | 1 + app/src/main/res/layout/content_movie_headers.xml | 1 + 8 files changed, 35 insertions(+), 10 deletions(-) rename app/src/main/java/io/github/javiewer/{ => view}/listener/BasicOnScrollListener.java (93%) rename app/src/main/java/io/github/javiewer/{ => view}/listener/EndlessOnScrollListener.java (81%) diff --git a/app/src/main/java/io/github/javiewer/fragment/ActressesFragment.java b/app/src/main/java/io/github/javiewer/fragment/ActressesFragment.java index ba41448..cf58e71 100644 --- a/app/src/main/java/io/github/javiewer/fragment/ActressesFragment.java +++ b/app/src/main/java/io/github/javiewer/fragment/ActressesFragment.java @@ -12,9 +12,9 @@ import io.github.javiewer.JAViewer; import io.github.javiewer.adapter.ActressAdapter; import io.github.javiewer.adapter.item.Actress; -import io.github.javiewer.listener.EndlessOnScrollListener; import io.github.javiewer.network.provider.AVMOProvider; import io.github.javiewer.view.decoration.ActressItemDecoration; +import io.github.javiewer.view.listener.EndlessOnScrollListener; import okhttp3.ResponseBody; import retrofit2.Call; @@ -59,6 +59,11 @@ public SwipeRefreshLayout getRefreshLayout() { return ActressesFragment.this.mRefreshLayout; } + @Override + public RecyclerView.Adapter getAdapter() { + return ActressesFragment.this.getAdapter(); + } + @Override public List getItems() { return ActressesFragment.this.getItems(); diff --git a/app/src/main/java/io/github/javiewer/fragment/DownloadFragment.java b/app/src/main/java/io/github/javiewer/fragment/DownloadFragment.java index 913c1bb..6eb9f1a 100644 --- a/app/src/main/java/io/github/javiewer/fragment/DownloadFragment.java +++ b/app/src/main/java/io/github/javiewer/fragment/DownloadFragment.java @@ -15,9 +15,9 @@ import io.github.javiewer.JAViewer; import io.github.javiewer.adapter.DownloadLinkAdapter; import io.github.javiewer.adapter.item.DownloadLink; -import io.github.javiewer.listener.BasicOnScrollListener; import io.github.javiewer.network.provider.DownloadLinkProvider; import io.github.javiewer.view.decoration.DownloadItemDecoration; +import io.github.javiewer.view.listener.BasicOnScrollListener; import jp.wasabeef.recyclerview.adapters.ScaleInAnimationAdapter; import jp.wasabeef.recyclerview.animators.SlideInUpAnimator; import okhttp3.ResponseBody; @@ -82,6 +82,11 @@ public SwipeRefreshLayout getRefreshLayout() { return DownloadFragment.this.mRefreshLayout; } + @Override + public RecyclerView.Adapter getAdapter() { + return DownloadFragment.this.getAdapter(); + } + @Override public List getItems() { return DownloadFragment.this.getItems(); diff --git a/app/src/main/java/io/github/javiewer/fragment/MovieFragment.java b/app/src/main/java/io/github/javiewer/fragment/MovieFragment.java index b0f4595..bf38cb0 100644 --- a/app/src/main/java/io/github/javiewer/fragment/MovieFragment.java +++ b/app/src/main/java/io/github/javiewer/fragment/MovieFragment.java @@ -11,9 +11,9 @@ import io.github.javiewer.adapter.MovieAdapter; import io.github.javiewer.adapter.item.Movie; -import io.github.javiewer.listener.EndlessOnScrollListener; import io.github.javiewer.network.provider.AVMOProvider; import io.github.javiewer.view.decoration.MovieItemDecoration; +import io.github.javiewer.view.listener.EndlessOnScrollListener; import jp.wasabeef.recyclerview.adapters.SlideInBottomAnimationAdapter; import jp.wasabeef.recyclerview.animators.SlideInUpAnimator; import okhttp3.ResponseBody; @@ -62,6 +62,11 @@ public List getItems() { return MovieFragment.this.getItems(); } + @Override + public RecyclerView.Adapter getAdapter() { + return MovieFragment.this.getAdapter(); + } + @Override public void onResult(ResponseBody response) throws Exception { super.onResult(response); diff --git a/app/src/main/java/io/github/javiewer/fragment/RecyclerFragment.java b/app/src/main/java/io/github/javiewer/fragment/RecyclerFragment.java index 6ba8c95..625c96d 100644 --- a/app/src/main/java/io/github/javiewer/fragment/RecyclerFragment.java +++ b/app/src/main/java/io/github/javiewer/fragment/RecyclerFragment.java @@ -17,8 +17,8 @@ import butterknife.BindView; import butterknife.ButterKnife; import io.github.javiewer.R; -import io.github.javiewer.listener.BasicOnScrollListener; import io.github.javiewer.view.ViewUtil; +import io.github.javiewer.view.listener.BasicOnScrollListener; /** * Project: JAViewer @@ -66,6 +66,9 @@ public void setAdapter(RecyclerView.Adapter mAdapter) { } public RecyclerView.Adapter getAdapter() { + if (this.mRecyclerView == null) { + return null; + } return this.mRecyclerView.getAdapter(); } @@ -77,11 +80,11 @@ public void setItems(ArrayList items) { int size = getItems().size(); if (size > 0) { getItems().clear(); - getAdapter().notifyItemRangeRemoved(0, size); + getAdapter().notifyDataSetChanged(); } getItems().addAll(items); - getAdapter().notifyItemRangeInserted(0, items.size()); + getAdapter().notifyDataSetChanged(); } @Override diff --git a/app/src/main/java/io/github/javiewer/listener/BasicOnScrollListener.java b/app/src/main/java/io/github/javiewer/view/listener/BasicOnScrollListener.java similarity index 93% rename from app/src/main/java/io/github/javiewer/listener/BasicOnScrollListener.java rename to app/src/main/java/io/github/javiewer/view/listener/BasicOnScrollListener.java index 739f8cc..d4c9924 100644 --- a/app/src/main/java/io/github/javiewer/listener/BasicOnScrollListener.java +++ b/app/src/main/java/io/github/javiewer/view/listener/BasicOnScrollListener.java @@ -1,4 +1,4 @@ -package io.github.javiewer.listener; +package io.github.javiewer.view.listener; import android.os.Bundle; import android.support.v4.widget.SwipeRefreshLayout; @@ -33,7 +33,11 @@ public void reset() { loading = false; loadThreshold = 5; currentPage = 0; - getItems().clear(); + int oldSize = getItems().size(); + if (oldSize > 0) { + getItems().clear(); + getAdapter().notifyItemRangeRemoved(0, oldSize); + } } public Bundle saveState() { @@ -52,12 +56,13 @@ public void restoreState(Bundle bundle) { public abstract List getItems(); + public abstract RecyclerView.Adapter getAdapter(); + public abstract Call newCall(int page); public void refresh() { setLoading(true); reset(); - getItems().clear(); onLoad(token = System.currentTimeMillis()); } diff --git a/app/src/main/java/io/github/javiewer/listener/EndlessOnScrollListener.java b/app/src/main/java/io/github/javiewer/view/listener/EndlessOnScrollListener.java similarity index 81% rename from app/src/main/java/io/github/javiewer/listener/EndlessOnScrollListener.java rename to app/src/main/java/io/github/javiewer/view/listener/EndlessOnScrollListener.java index 58ba59c..78ae140 100644 --- a/app/src/main/java/io/github/javiewer/listener/EndlessOnScrollListener.java +++ b/app/src/main/java/io/github/javiewer/view/listener/EndlessOnScrollListener.java @@ -1,4 +1,4 @@ -package io.github.javiewer.listener; +package io.github.javiewer.view.listener; /** * Project: JAViewer diff --git a/app/src/main/res/layout/content_movie_actresses.xml b/app/src/main/res/layout/content_movie_actresses.xml index 1f61b00..94e36bb 100644 --- a/app/src/main/res/layout/content_movie_actresses.xml +++ b/app/src/main/res/layout/content_movie_actresses.xml @@ -36,6 +36,7 @@ android:paddingRight="16dp" android:layout_width="wrap_content" android:layout_height="wrap_content"> + diff --git a/app/src/main/res/layout/content_movie_headers.xml b/app/src/main/res/layout/content_movie_headers.xml index 3aa8970..54c8e2d 100644 --- a/app/src/main/res/layout/content_movie_headers.xml +++ b/app/src/main/res/layout/content_movie_headers.xml @@ -35,6 +35,7 @@ android:paddingLeft="72dp" android:layout_width="wrap_content" android:layout_height="wrap_content"> +