Skip to content

Commit

Permalink
添加大量 操作方法,应对复杂逻辑
Browse files Browse the repository at this point in the history
  • Loading branch information
haoxikang committed Jul 13, 2017
1 parent 5470383 commit c3234ce
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 44 deletions.
13 changes: 7 additions & 6 deletions app/src/main/java/com/fall/qqq34/example/TestPresenter.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ public void run() {
}
refreshFinish(list);
// onRefreshError();
// noDataLoad();
}

}, 2000);
Expand All @@ -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();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand All @@ -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);
}
Expand All @@ -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);
}
Expand All @@ -65,7 +63,7 @@ public void onPresenterCreate() {

@Override
public void checkAndLoadNextPageData() {
if (canLoad&&canLoadNext) {
if (canLoad && canLoadNext) {
beforeLoad();
loadNextPageData(page);
}
Expand All @@ -81,64 +79,94 @@ 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() {
mView.showLoadAnimation();
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);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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
Expand All @@ -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
Expand Down

0 comments on commit c3234ce

Please sign in to comment.