From 1c053c7ee5b41cb823c46a2207ebd80453917a14 Mon Sep 17 00:00:00 2001 From: lambert Date: Sun, 1 Sep 2019 13:17:18 +0800 Subject: [PATCH] =?UTF-8?q?Gank=E9=A1=B5=E9=9D=A2=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/heyongrui/base/utils/TimeUtil.java | 18 +++++ .../heyongrui/base/utils/UpdateCheckUtil.java | 2 + base/src/main/res/values/strings.xml | 1 + .../heyongrui/module2/Module2Fragment.java | 11 ++- .../adapter/Module2SectionAdapter.java | 33 +++++++-- .../module2/adapter/Module2SectionEntity.java | 19 ++--- .../heyongrui/module2/data/api/GankApi.java | 9 ++- .../dto/{WelfareDto.java => GankDto.java} | 10 +-- .../module2/data/service/GankService.java | 17 +++-- .../module2/gank/contract/GankContract.kt | 8 +-- .../gank/contract/WelfareContract.java | 4 +- .../module2/gank/presenter/GankPresenter.kt | 18 ++--- .../gank/presenter/WelfarePresenter.java | 16 ++--- .../module2/gank/view/GankActivity.kt | 70 +++++++++++++------ .../module2/gank/view/WelfareActivity.java | 18 ++--- .../main/res/layout/recycle_item_android.xml | 42 +++++++++++ 16 files changed, 212 insertions(+), 84 deletions(-) rename module2/src/main/java/com/heyongrui/module2/data/dto/{WelfareDto.java => GankDto.java} (91%) create mode 100644 module2/src/main/res/layout/recycle_item_android.xml diff --git a/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java b/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java index 7f362bd..aa20d4c 100644 --- a/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java +++ b/base/src/main/java/com/heyongrui/base/utils/TimeUtil.java @@ -16,6 +16,7 @@ */ public class TimeUtil { + public final static String ISO8601 = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; public final static String SEC = "yyyy-MM-dd HH:mm:ss"; public final static String MIN = "yyyy-MM-dd HH:mm"; public final static String MIN_TWO = "MM-dd HH:mm"; @@ -46,6 +47,23 @@ public static String getDateString(Date date, String targetDateType) { return datestring; } + /** + * 将原始格式的时间转化为新时间的格式 + */ + public static String getDateString(String originalTime, String originalFormat, String targetFormat) { + if (TextUtils.isEmpty(originalTime) || TextUtils.isEmpty(originalFormat) || TextUtils.isEmpty(targetFormat)) + return ""; + String targetTime = ""; + try { + SimpleDateFormat sdfSource = new SimpleDateFormat(originalFormat);//原始的日期格式 + SimpleDateFormat sdfTarget = new SimpleDateFormat(targetFormat);//新日期格式 + targetTime = sdfTarget.format(sdfSource.parse(originalTime)); + } catch (Exception e) { + e.printStackTrace(); + } + return targetTime; + } + /** * 将日期字符串转成指定格式的日期 */ diff --git a/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java b/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java index 0c2b989..2a9c07e 100644 --- a/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java +++ b/base/src/main/java/com/heyongrui/base/utils/UpdateCheckUtil.java @@ -106,6 +106,8 @@ public void checkUpdate(@NonNull String updateCheckUrl, @NonNull String authorit boolean is_force_update = jsonObject.getBoolean("ignore_able"); showUpdateDialog(mActivity, "V " + update_ver_name + "\n" + update_content, update_url, is_force_update, authority, appName); + } else { + ToastUtils.showShort(R.string.latest_tip); } } catch (JSONException e) { e.printStackTrace(); diff --git a/base/src/main/res/values/strings.xml b/base/src/main/res/values/strings.xml index 6e0d71b..176930e 100644 --- a/base/src/main/res/values/strings.xml +++ b/base/src/main/res/values/strings.xml @@ -5,6 +5,7 @@ https://raw.githubusercontent.com/HeYongRui/YouJu/master/app/version_update.json 更新提示 更新失败 + 已是最新版本 更新 下载中... 正在下载 diff --git a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java index 6a51e69..513674d 100644 --- a/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java +++ b/module2/src/main/java/com/heyongrui/module2/Module2Fragment.java @@ -126,7 +126,16 @@ private void initBalls() { ARouter.getInstance().build(ConfigConstants.PATH_WELFARE).navigation(); break; case 2://Android - ARouter.getInstance().build(ConfigConstants.PATH_GANK).withInt("type", 1).navigation(); + ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "Android").navigation(); + break; + case 3://IOS + ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "iOS").navigation(); + break; + case 5://前端 + ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "前端").navigation(); + break; + case 6://拓展资源 + ARouter.getInstance().build(ConfigConstants.PATH_GANK).withString("category", "拓展资源").navigation(); break; case 9://关于 ARouter.getInstance().build(ConfigConstants.PATH_ABOUT).navigation(); diff --git a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java index 46bb33c..165f345 100644 --- a/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java +++ b/module2/src/main/java/com/heyongrui/module2/adapter/Module2SectionAdapter.java @@ -1,12 +1,15 @@ package com.heyongrui.module2.adapter; import android.graphics.Bitmap; +import android.text.TextUtils; import android.widget.ImageView; +import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.ConstraintSet; +import androidx.core.content.ContextCompat; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.RequestOptions; @@ -15,8 +18,10 @@ import com.chad.library.adapter.base.BaseSectionMultiItemQuickAdapter; import com.chad.library.adapter.base.BaseViewHolder; import com.heyongrui.base.glide.GlideApp; +import com.heyongrui.base.utils.TimeUtil; +import com.heyongrui.base.utils.UiUtil; import com.heyongrui.module2.R; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; import java.util.List; @@ -34,6 +39,7 @@ public Module2SectionAdapter(List data) { public Module2SectionAdapter(int sectionHeadResId, List data) { super(sectionHeadResId, data); addItemType(Module2SectionEntity.WELFARE, R.layout.recycle_item_welfare); + addItemType(Module2SectionEntity.GANK, R.layout.recycle_item_android); } @Override @@ -49,9 +55,9 @@ protected void convert(BaseViewHolder helper, Module2SectionEntity item) { case Module2SectionEntity.WELFARE: { ConstraintLayout content = helper.getView(R.id.content); ImageView coverIv = helper.getView(R.id.iv); - WelfareDto.WelfareBean welfareBean = item.getWelfareBean(); - if (welfareBean == null) return; - String url = welfareBean.getUrl(); + GankDto.GankBean gankBean = item.getGankBean(); + if (gankBean == null) return; + String url = gankBean.getUrl(); RequestOptions options = new RequestOptions() .placeholder(R.drawable.placeholder) .error(R.drawable.placeholder_fail) @@ -69,6 +75,25 @@ public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition) object; // } - } else if (object instanceof WelfareDto.WelfareBean) { - this.welfareBean = (WelfareDto.WelfareBean) object; + } else if (object instanceof GankDto.GankBean) { + this.gankBean = (GankDto.GankBean) object; } } } @@ -70,11 +71,11 @@ public void setObject(Object object) { this.object = object; } - public WelfareDto.WelfareBean getWelfareBean() { - return welfareBean; + public GankDto.GankBean getGankBean() { + return gankBean; } - public void setWelfareBean(WelfareDto.WelfareBean welfareBean) { - this.welfareBean = welfareBean; + public void setGankBean(GankDto.GankBean gankBean) { + this.gankBean = gankBean; } } diff --git a/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java b/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java index 2356235..f5c1e74 100644 --- a/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java +++ b/module2/src/main/java/com/heyongrui/module2/data/api/GankApi.java @@ -1,6 +1,6 @@ package com.heyongrui.module2.data.api; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; import io.reactivex.Observable; import retrofit2.http.GET; @@ -12,6 +12,11 @@ public interface GankApi { + /** + * @param category 数据类型: 福利 | Android | iOS | 休息视频 | 拓展资源 | 前端 | all + * @param per_page 请求个数: 数字,大于0 + * @param page 第几页:数字,大于0 + */ @GET("data/{category}/{per_page}/{page}") - Observable getGankCategory(@Path("category") String category, @Path("per_page") int per_page, @Path("page") int page); + Observable getGankCategory(@Path("category") String category, @Path("per_page") int per_page, @Path("page") int page); } diff --git a/module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java b/module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java similarity index 91% rename from module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java rename to module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java index 8c2fc53..f306675 100644 --- a/module2/src/main/java/com/heyongrui/module2/data/dto/WelfareDto.java +++ b/module2/src/main/java/com/heyongrui/module2/data/dto/GankDto.java @@ -6,10 +6,10 @@ * Created by Mr.He on 2019/3/10. */ -public class WelfareDto { +public class GankDto { private boolean error; - private List results; + private List results; public boolean isError() { return error; @@ -19,15 +19,15 @@ public void setError(boolean error) { this.error = error; } - public List getResults() { + public List getResults() { return results; } - public void setResults(List results) { + public void setResults(List results) { this.results = results; } - public static class WelfareBean { + public static class GankBean { private String _id; private String createdAt; diff --git a/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java b/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java index 6c46e49..a3e5a5a 100644 --- a/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java +++ b/module2/src/main/java/com/heyongrui/module2/data/service/GankService.java @@ -1,7 +1,7 @@ package com.heyongrui.module2.data.service; import com.heyongrui.module2.data.api.GankApi; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; import com.heyongrui.network.configure.RxHelper; import com.heyongrui.network.service.ApiService; @@ -19,15 +19,14 @@ public GankService() { } - public Observable getWelfare(int perPage, int page) { + /** + * @param category 数据类型: 福利 | Android | iOS | 休息视频 | 拓展资源 | 前端 | all + * @param perPage 请求个数: 数字,大于0 + * @param page 第几页:数字,大于0 + */ + public Observable getGankCategory(String category, int perPage, int page) { return ApiService.createApi(GankApi.class, BASE_URL_GANK) - .getGankCategory("福利", perPage, page) - .compose(RxHelper.rxSchedulerHelper()); - } - - public Observable getAndroid(int perPage, int page) { - return ApiService.createApi(GankApi.class, BASE_URL_GANK) - .getGankCategory("Android", perPage, page) + .getGankCategory(category, perPage, page) .compose(RxHelper.rxSchedulerHelper()); } } diff --git a/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt b/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt index 7624976..53e6b44 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt +++ b/module2/src/main/java/com/heyongrui/module2/gank/contract/GankContract.kt @@ -5,16 +5,16 @@ import com.chad.library.adapter.base.BaseQuickAdapter import com.heyongrui.base.base.BasePresenter import com.heyongrui.base.base.BaseView import com.heyongrui.module2.adapter.Module2SectionAdapter -import com.heyongrui.module2.data.dto.WelfareDto +import com.heyongrui.module2.data.dto.GankDto import com.scwang.smartrefresh.header.StoreHouseHeader import com.scwang.smartrefresh.layout.SmartRefreshLayout import com.scwang.smartrefresh.layout.listener.OnRefreshLoadMoreListener interface GankContract { interface View : BaseView { - fun getAndroidSuccess(welfareDto: WelfareDto) + fun getGankCategorySuccess(gankDto: GankDto) - fun getAndroidFail(errorCode: Int, errorMsg: String) + fun getGankCategoryFail(errorCode: Int, errorMsg: String) } abstract class Presenter : BasePresenter() { @@ -22,6 +22,6 @@ interface GankContract { abstract fun initRecyclerView(recyclerView: RecyclerView, listener: BaseQuickAdapter.OnItemClickListener): Module2SectionAdapter - abstract fun getAndroid(perPage: Int, page: Int) + abstract fun getGankCategory(category: String, perPage: Int, page: Int) } } \ No newline at end of file diff --git a/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java b/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java index 742be5e..3b4426c 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java +++ b/module2/src/main/java/com/heyongrui/module2/gank/contract/WelfareContract.java @@ -3,11 +3,11 @@ import com.heyongrui.base.base.BasePresenter; import com.heyongrui.base.base.BaseView; import com.heyongrui.base.widget.imagewatcher.ImageWatcherHelper; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; public interface WelfareContract { interface View extends BaseView { - void getWelfareSuccess(WelfareDto welfareDto); + void getWelfareSuccess(GankDto gankDto); void getWelfareFail(int errorCode, String errorMsg); } diff --git a/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt b/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt index 8dfbbf8..687de5c 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt +++ b/module2/src/main/java/com/heyongrui/module2/gank/presenter/GankPresenter.kt @@ -12,7 +12,7 @@ import com.heyongrui.module2.adapter.Module2SectionAdapter import com.heyongrui.module2.adapter.Module2SectionEntity import com.heyongrui.module2.dagger.DaggerModule2Component import com.heyongrui.module2.dagger.Module2Module -import com.heyongrui.module2.data.dto.WelfareDto +import com.heyongrui.module2.data.dto.GankDto import com.heyongrui.module2.data.service.GankService import com.heyongrui.module2.gank.contract.GankContract import com.heyongrui.network.configure.ResponseDisposable @@ -46,8 +46,8 @@ class GankPresenter : GankContract.Presenter() { val moduleSectionAdapter = Module2SectionAdapter(data) recyclerView.layoutManager = LinearLayoutManager(mContext) moduleSectionAdapter.bindToRecyclerView(recyclerView) - val dp10 = ConvertUtils.dp2px(10f) - recyclerView.addItemDecoration(RecycleViewItemDecoration(mContext, dp10)) + val dp1 = ConvertUtils.dp2px(1f) + recyclerView.addItemDecoration(RecycleViewItemDecoration(mContext, dp1)) moduleSectionAdapter.setSpanSizeLookup({ gridLayoutManager, position -> data[position].getSpanSize() }) if (null != listener) { moduleSectionAdapter.setOnItemClickListener(listener) @@ -55,18 +55,18 @@ class GankPresenter : GankContract.Presenter() { return moduleSectionAdapter } - override fun getAndroid(perPage: Int, page: Int) { - mRxManager.add(mGankService.getAndroid(perPage, page).subscribeWith( - object : ResponseDisposable(mContext, true) { - override fun onSuccess(welfareDto: WelfareDto) { + override fun getGankCategory(category: String, perPage: Int, page: Int) { + mRxManager.add(mGankService.getGankCategory(category, perPage, page).subscribeWith( + object : ResponseDisposable(mContext, true) { + override fun onSuccess(gankDto: GankDto) { if (mView != null) { - mView.getAndroidSuccess(welfareDto) + mView.getGankCategorySuccess(gankDto) } } override fun onFailure(errorCode: Int, errorMsg: String) { if (mView != null) { - mView.getAndroidFail(errorCode, errorMsg) + mView.getGankCategoryFail(errorCode, errorMsg) } } })) diff --git a/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java b/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java index 50fb653..51fc37a 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java +++ b/module2/src/main/java/com/heyongrui/module2/gank/presenter/WelfarePresenter.java @@ -13,7 +13,7 @@ import com.heyongrui.base.widget.imagewatcher.ImageWatcher; import com.heyongrui.base.widget.imagewatcher.ImageWatcherHelper; import com.heyongrui.module2.adapter.Module2SectionEntity; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; import com.heyongrui.module2.data.service.GankService; import com.heyongrui.module2.gank.contract.WelfareContract; import com.heyongrui.network.configure.ResponseDisposable; @@ -35,9 +35,9 @@ public ImageWatcherHelper getImageWatcher() { public void load(Context context, Object o, ImageWatcher.LoadCallback lc) { if (o == null) return; if (o instanceof Module2SectionEntity) { - WelfareDto.WelfareBean welfareBean = ((Module2SectionEntity) o).getWelfareBean(); - if (welfareBean == null) return; - String url = welfareBean.getUrl(); + GankDto.GankBean gankBean = ((Module2SectionEntity) o).getGankBean(); + if (gankBean == null) return; + String url = gankBean.getUrl(); GlideApp.with(context).load(url) .into(new SimpleTarget() { @Override @@ -64,12 +64,12 @@ public void onLoadStarted(@Nullable Drawable placeholder) { @Override public void getWelfare(int perPage, int page) { - mRxManager.add(mGankService.getWelfare(perPage, page).subscribeWith( - new ResponseDisposable(mContext, true) { + mRxManager.add(mGankService.getGankCategory("福利", perPage, page).subscribeWith( + new ResponseDisposable(mContext, true) { @Override - protected void onSuccess(WelfareDto welfareDto) { + protected void onSuccess(GankDto gankDto) { if (mView != null) { - mView.getWelfareSuccess(welfareDto); + mView.getWelfareSuccess(gankDto); } } diff --git a/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt b/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt index 1c9d827..467490d 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt +++ b/module2/src/main/java/com/heyongrui/module2/gank/view/GankActivity.kt @@ -5,6 +5,7 @@ import android.view.View import androidx.core.content.ContextCompat import com.alibaba.android.arouter.facade.annotation.Autowired import com.alibaba.android.arouter.facade.annotation.Route +import com.alibaba.android.arouter.launcher.ARouter import com.blankj.utilcode.util.ToastUtils import com.chad.library.adapter.base.BaseQuickAdapter import com.heyongrui.base.assist.ConfigConstants @@ -13,7 +14,7 @@ import com.heyongrui.base.utils.DrawableUtil import com.heyongrui.module2.R import com.heyongrui.module2.adapter.Module2SectionAdapter import com.heyongrui.module2.adapter.Module2SectionEntity -import com.heyongrui.module2.data.dto.WelfareDto +import com.heyongrui.module2.data.dto.GankDto import com.heyongrui.module2.gank.contract.GankContract import com.heyongrui.module2.gank.presenter.GankPresenter import com.scwang.smartrefresh.layout.api.RefreshLayout @@ -25,8 +26,8 @@ import java.util.* class GankActivity : BaseActivity(), GankContract.View, View.OnClickListener, BaseQuickAdapter.OnItemClickListener, OnRefreshLoadMoreListener { @JvmField - @Autowired(name = "type") - var mType: Int = 0 + @Autowired(name = "category") + var mCategory: String = "" private val mPerPage = 10 private var mPage = 1 @@ -60,53 +61,78 @@ class GankActivity : BaseActivity(), GankContract.View, val tintDrawable = DrawableUtil.tintDrawable(this@GankActivity, R.drawable.ic_back, ContextCompat.getColor(this@GankActivity, R.color.background)) iv_back.setImageDrawable(tintDrawable) + tv_title.text = mCategory + mPresenter.initSwipeRefresh(refresh_layout, store_house_header, this@GankActivity) mGankAdapter = mPresenter.initRecyclerView(rlv_gank, this@GankActivity) refresh_layout.autoRefresh() } - private fun loadData() { - mPresenter.getAndroid(mPerPage, mPage) - } - override fun onLoadMore(refreshLayout: RefreshLayout) { + if (mIsLastPage) { + resetRefreshLayout(true, true, true) + } else { + loadData(false) + } } override fun onRefresh(refreshLayout: RefreshLayout) { - loadData() + loadData(true) } override fun onItemClick(adapter: BaseQuickAdapter<*, *>?, view: View?, position: Int) { - + val gankBean = mGankAdapter.data.get(position).gankBean + ARouter.getInstance().build(ConfigConstants.PATH_H5).withString("h5Url", gankBean.url).navigation() } - override fun getAndroidSuccess(welfareDto: WelfareDto) { + override fun getGankCategorySuccess(gankDto: GankDto) { resetRefreshLayout(true, true, false) val addDataList = ArrayList() - if (welfareDto != null) { - if (!welfareDto.isError) { - val welfareBeanList = welfareDto.results - if (welfareBeanList != null && !welfareBeanList.isEmpty()) { - if (welfareBeanList.size < mPerPage) { - mIsLastPage = true + if (!gankDto.isError) { + val gankBeanList = gankDto.results + mIsLastPage = gankBeanList.size < mPerPage + for (gankBean in gankBeanList) { + var itemType: Int = Module2SectionEntity.GANK + when (gankBean.type) { + "Android" -> { + itemType = Module2SectionEntity.GANK + } + "iOS" -> { + } + "休息视频" -> { } - for (welfareBean in welfareBeanList) { - addDataList.add(Module2SectionEntity(Module2SectionEntity.WELFARE, welfareBean)) + "拓展资源" -> { + } + "前端" -> { + } + "all" -> { } - } else { - mIsLastPage = true } + addDataList.add(Module2SectionEntity(itemType, gankBean)) } } - mGankAdapter.replaceData(addDataList) + if (1 == mPage) { + mGankAdapter.replaceData(addDataList) + } else { + mGankAdapter.addData(addDataList) + } } - override fun getAndroidFail(errorCode: Int, errorMsg: String) { + override fun getGankCategoryFail(errorCode: Int, errorMsg: String) { ToastUtils.showShort(errorMsg) resetRefreshLayout(true, true, false) } + private fun loadData(isClearData: Boolean) { + if (isClearData) { + mPage = 1 + } else { + mPage += 1 + } + mPresenter.getGankCategory(mCategory, mPerPage, mPage) + } + private fun resetRefreshLayout(isFinishLoadMore: Boolean, isFinishRefresh: Boolean, noMoreData: Boolean) { if (isFinishLoadMore) { refresh_layout.finishLoadMore() diff --git a/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java b/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java index 36e4356..ddad44c 100644 --- a/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java +++ b/module2/src/main/java/com/heyongrui/module2/gank/view/WelfareActivity.java @@ -20,7 +20,7 @@ import com.heyongrui.module2.R; import com.heyongrui.module2.adapter.Module2SectionAdapter; import com.heyongrui.module2.adapter.Module2SectionEntity; -import com.heyongrui.module2.data.dto.WelfareDto; +import com.heyongrui.module2.data.dto.GankDto; import com.heyongrui.module2.gank.contract.WelfareContract; import com.heyongrui.module2.gank.presenter.WelfarePresenter; import com.scwang.smartrefresh.header.StoreHouseHeader; @@ -138,20 +138,20 @@ private void getWelfare(boolean isClearData) { } @Override - public void getWelfareSuccess(WelfareDto welfareDto) { + public void getWelfareSuccess(GankDto gankDto) { refreshLayout.finishLoadMore(); refreshLayout.finishRefresh(); refreshLayout.setNoMoreData(false); List addDataList = new ArrayList<>(); - if (welfareDto != null) { - if (!welfareDto.isError()) { - List welfareBeanList = welfareDto.getResults(); - if (welfareBeanList != null && !welfareBeanList.isEmpty()) { - if (welfareBeanList.size() < mPerPage) { + if (gankDto != null) { + if (!gankDto.isError()) { + List gankBeanList = gankDto.getResults(); + if (gankBeanList != null && !gankBeanList.isEmpty()) { + if (gankBeanList.size() < mPerPage) { mIsLastPage = true; } - for (WelfareDto.WelfareBean welfareBean : welfareBeanList) { - addDataList.add(new Module2SectionEntity(Module2SectionEntity.WELFARE, welfareBean)); + for (GankDto.GankBean gankBean : gankBeanList) { + addDataList.add(new Module2SectionEntity(Module2SectionEntity.WELFARE, gankBean)); } } else { mIsLastPage = true; diff --git a/module2/src/main/res/layout/recycle_item_android.xml b/module2/src/main/res/layout/recycle_item_android.xml new file mode 100644 index 0000000..beef8c8 --- /dev/null +++ b/module2/src/main/res/layout/recycle_item_android.xml @@ -0,0 +1,42 @@ + + + + + + + + + + \ No newline at end of file