From c3234ce039b16e257c4f6e4c80ac24d1d5d3b868 Mon Sep 17 00:00:00 2001 From: kanghx <348476129@qq.com> Date: Thu, 13 Jul 2017 15:40:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=A7=E9=87=8F=20?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=96=B9=E6=B3=95=EF=BC=8C=E5=BA=94=E5=AF=B9?= =?UTF-8?q?=E5=A4=8D=E6=9D=82=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/fall/qqq34/example/TestPresenter.java | 13 ++-- .../GeneralPresenter.java | 68 +++++++++++++------ .../GeneralRecyclerViewFragment.java | 37 +++++----- 3 files changed, 74 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/com/fall/qqq34/example/TestPresenter.java b/app/src/main/java/com/fall/qqq34/example/TestPresenter.java index 89d69a3..95154a7 100644 --- a/app/src/main/java/com/fall/qqq34/example/TestPresenter.java +++ b/app/src/main/java/com/fall/qqq34/example/TestPresenter.java @@ -26,6 +26,7 @@ public void run() { } refreshFinish(list); // onRefreshError(); + // noDataLoad(); } }, 2000); @@ -41,12 +42,12 @@ public void run() { for (int i = 0; i < 50; i++) { list.add("b" + page + " " + i); } - if (page==5){ - loadLastPageDataFinish(list); - }else { - loadNextPageFinish(list); - } - +// if (page==5){ +// loadLastPageDataFinish(list); +// }else { +// loadNextPageFinish(list); +// } +loadLastPageDataFinish(list); // onLoadNextError(); } diff --git a/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralPresenter.java b/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralPresenter.java index 6bfa464..60dce77 100644 --- a/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralPresenter.java +++ b/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralPresenter.java @@ -8,7 +8,7 @@ * Created by qqq34 on 2017/2/4. */ -public abstract class GeneralPresenter implements GeneralContract.Presenter { +public abstract class GeneralPresenter implements GeneralContract.Presenter { public static final String TAG = "GeneralPresenter"; @@ -25,8 +25,7 @@ public void setView(GeneralContract.View view) { @Override public void loadNextPageFinish(@NonNull List nextList) { - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); page++; mView.loadNextDataFinish(nextList); } @@ -51,8 +50,7 @@ public void refreshFinishNoNext(@NonNull List nextList) { @Override public void refreshFinish(@NonNull List nextList) { canLoadNext = true; - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); page = 2; mView.refreshFinish(nextList); } @@ -65,7 +63,7 @@ public void onPresenterCreate() { @Override public void checkAndLoadNextPageData() { - if (canLoad&&canLoadNext) { + if (canLoad && canLoadNext) { beforeLoad(); loadNextPageData(page); } @@ -81,59 +79,61 @@ public void checkAndRefreshData() { @Override public void stopLoading() { - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); } @Override public void onRefreshError() { - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); mView.loadError(); } @Override public void onRefreshError(String s) { - + afterLoad(); + mView.loadError(s); } @Override public void onRefreshError(String s, int res) { - + afterLoad(); + mView.loadError(s, res); } @Override public void onLoadNextError() { - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); mView.loadNextPageError(); } @Override public void onLoadNextError(String s) { - + afterLoad(); + mView.loadNextPageError(s); } @Override public void onLoadNextError(String s, int res) { - + afterLoad(); + mView.loadNextPageError(s, res); } @Override public void onReloadError() { - canLoad = true; - mView.closeLoadAnimation(); + afterLoad(); mView.reLoadError(); } @Override public void onReloadError(String s) { - + afterLoad(); + mView.reLoadError(s); } @Override public void onReloadError(String s, int res) { - + afterLoad(); + mView.reLoadError(s, res); } private void beforeLoad() { @@ -141,4 +141,32 @@ private void beforeLoad() { canLoad = false; } + private void afterLoad() { + canLoad = true; + mView.closeLoadAnimation(); + } + + @Override + public void noDataLoad() { + afterLoad(); + canLoadNext = false; + canLoad=false; + mView.noDataLoad(); + } + + @Override + public void noDataLoad(String s) { + afterLoad(); + canLoadNext = false; + canLoad=false; + mView.noDataLoad(s); + } + + @Override + public void noDataLoad(String s, int res) { + afterLoad(); + canLoadNext = false; + canLoad=false; + mView.noDataLoad(s, res); + } } diff --git a/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralRecyclerViewFragment.java b/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralRecyclerViewFragment.java index 43e195d..21b88ef 100644 --- a/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralRecyclerViewFragment.java +++ b/generalrecyclerviewfragment/src/main/java/com/fall/generalrecyclerviewfragment/GeneralRecyclerViewFragment.java @@ -93,9 +93,21 @@ private boolean getLayoutManagerOrientation() throws Exception { @Override public void loadError() { + loadError("加载失败请点击屏幕重试"); + + } + + @Override + public void loadError(String s) { + loadError("加载失败请点击屏幕重试", -1); + + } + + @Override + public void loadError(String s, int res) { if (errorLayout.getChildCount() == 0) { TextView textView = new TextView(getContext()); - textView.setText("加载失败,请点击屏幕重试"); + textView.setText(s); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.gravity = Gravity.CENTER; errorLayout.addView(textView, layoutParams); @@ -108,17 +120,6 @@ public void onClick(View v) { }); } errorLayout.setVisibility(View.VISIBLE); - - } - - @Override - public void loadError(String s) { - - } - - @Override - public void loadError(String s, int res) { - } @Override @@ -139,32 +140,32 @@ public void loadNextPageError(String s, int res) { @Override public void reLoadError() { - Snackbar.make(recyclerView, "加载失败", Snackbar.LENGTH_SHORT).show(); + reLoadError("加载失败"); } @Override public void reLoadError(String s) { - + reLoadError(s, -1); } @Override public void reLoadError(String s, int res) { - + Snackbar.make(recyclerView, s, Snackbar.LENGTH_SHORT).show(); } @Override public void noDataLoad() { - + noDataLoad("数据为空"); } @Override public void noDataLoad(String s) { - + noDataLoad("数据为空", -1); } @Override public void noDataLoad(String s, int res) { - + Snackbar.make(recyclerView, s, Snackbar.LENGTH_SHORT).show(); } @Override