diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java index c5a302e305..a2e90045c2 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java @@ -5,6 +5,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; +import android.widget.RatingBar; import android.widget.TextView; import androidx.annotation.NonNull; @@ -18,24 +19,24 @@ import com.zhidao.mogo.module.event.panel.R; import com.zhidao.mogo.module.event.panel.bean.ShareEventDescription; import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; import com.zhidao.mogo.module.event.panel.bean.ShareEventItemEnum; +import com.zhidao.mogo.module.event.panel.bean.ShareEventLoadMoreItem; import com.zhidao.mogo.module.event.panel.fragment.EventPanelFragment; +import com.zhidao.mogo.module.event.panel.presenter.ShareEventsPresenter; import java.util.ArrayList; public class ShareEventAdapter extends RecyclerView.Adapter { private Context context; + private ShareEventsPresenter presenter; private ArrayList dataArrayList; private final LayoutInflater shareLayoutInflater; - private boolean emptylist;//分享空白页 private IMogoServiceApis mApis; - public void setEmptylist(boolean emptylist) { - this.emptylist = emptylist; - } - public ShareEventAdapter(Context context, ArrayList dataArrayList) { + public ShareEventAdapter(Context context, ArrayList dataArrayList, ShareEventsPresenter presenter) { this.context = context; this.dataArrayList = dataArrayList; + this.presenter = presenter; shareLayoutInflater = LayoutInflater.from(context); mApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(context); } @@ -67,24 +68,53 @@ public class ShareEventAdapter extends RecyclerView.Adapter position) { ShareEventDescription.ResultBean.EnthusiasmIndexBean data = (ShareEventDescription.ResultBean.EnthusiasmIndexBean) dataArrayList.get(position); if (data != null) { String shareNum = String.valueOf(data.getShareNum()); String likeNum = String.valueOf(data.getLikeNum()); + double enthusiasmIndex = data.getEnthusiasmIndex(); if (shareNum != null) { ((shareDescriptionViewHolder) holder).shareNumTextView.setText(shareNum); } if (likeNum != null) { ((shareDescriptionViewHolder) holder).approveNumTextView.setText(likeNum); } + ((shareDescriptionViewHolder) holder).ratingBar.setRating(getEnthusuasmIndex(enthusiasmIndex)); } } } else if (holder instanceof shareItemViewHolder) { + //分享列表 if (dataArrayList.size() > position) { ShareEventItem.ResultBean.PageBean.ContentBean data = (ShareEventItem.ResultBean.PageBean.ContentBean) dataArrayList.get(position); if (data != null) { @@ -112,23 +142,27 @@ public class ShareEventAdapter extends RecyclerView.Adapter { EventPanelFragment.Companion.getInstance().hidePanel(); @@ -190,6 +227,15 @@ public class ShareEventAdapter extends RecyclerView.Adapter parameters = new HashMap<>(); parameters.put("data", GsonUtil.jsonFromObject(parameter)); @@ -118,8 +121,8 @@ public class ShareEventsFragment extends MvpFragment parameters = new HashMap<>(); parameters.put("data", GsonUtil.jsonFromObject(parameter)); @@ -129,13 +132,40 @@ public class ShareEventsFragment extends MvpFragment(RequestOptions.create(getContext())) { @Override public void onSuccess(ShareEventItem resultData) { - if (resultData != null && resultData.getResult() != null - && resultData.getResult().getPage().getContent().size() > 0) { - adapter.setEmptylist(false); - dataArrayList.addAll(resultData.getResult().getPage().getContent()); + ShareEventLoadMoreItem item = new ShareEventLoadMoreItem(); + if (resultData != null && resultData.getResult() != null) { + if (resultData.getResult().getPage() != null) { + int total = resultData.getResult().getPage().getTotal(); + if (total == 0) { + //空白 + item.setViewType(ShareEventItemEnum.ITEM_TYPE_SHARE_EMPTY); + dataArrayList.add(item); + } else { + if (resultData.getResult().getPage().getContent().size() > 0) { + //当前页有数据 + if (dataArrayList.size() > 0) { + Object data = dataArrayList.get(dataArrayList.size() - 1); + if (data instanceof ShareEventLoadMoreItem) { + dataArrayList.remove(dataArrayList.size() - 1); + } + } + dataArrayList.addAll(resultData.getResult().getPage().getContent()); + item.setViewType(ShareEventItemEnum.ITEM_TYPE_LOAD_MORE_STATUS); + item.setStatusText("查看更早记录"); + } else { + //当前页没有数据 + item.setViewType(ShareEventItemEnum.ITEM_TYPE_NO_MORE); + item.setStatusText("没有更多了"); + } + dataArrayList.add(item); + } + } Log.d(TAG, "分享列表---:" + dataArrayList.get(0)); } else { - adapter.setEmptylist(true); + //空白 + item.setViewType(ShareEventItemEnum.ITEM_TYPE_SHARE_EMPTY); + + dataArrayList.add(item); } adapter.notifyDataSetChanged(); } @@ -147,9 +177,23 @@ public class ShareEventsFragment extends MvpFragment 10) { + if (pageNum <= 1) {//没有分享 + item.setViewType(ShareEventItemEnum.ITEM_TYPE_SHARE_EMPTY); + } else {//没有更多了 + item.setViewType(ShareEventItemEnum.ITEM_TYPE_NO_MORE); + } + dataArray.add(item); + } + } + @NonNull @Override protected ShareEventsPresenter createPresenter() { return new ShareEventsPresenter(this); } + + } diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java index 4538dd7a7d..e1f7ef604c 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java @@ -8,4 +8,9 @@ public class ShareEventsPresenter extends Presenter { public ShareEventsPresenter(IView view) { super((ShareEventsFragment) view); } + + public void getMoreShareEventList(){ + mView.getShareEventList(mView.getPageNum()+1,10); + } + } diff --git a/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_choose.png b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_choose.png new file mode 100644 index 0000000000..3a8c9b318b Binary files /dev/null and b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_choose.png differ diff --git a/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_second.png b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_second.png new file mode 100644 index 0000000000..4894b507b2 Binary files /dev/null and b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_second.png differ diff --git a/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_unchoose.png b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_unchoose.png new file mode 100644 index 0000000000..f64d27d31f Binary files /dev/null and b/modules/mogo-module-event-panel/src/main/res/drawable/icon_enthusiasm_unchoose.png differ diff --git a/modules/mogo-module-event-panel/src/main/res/drawable/share_rating_bar.xml b/modules/mogo-module-event-panel/src/main/res/drawable/share_rating_bar.xml new file mode 100644 index 0000000000..afded5aacb --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/res/drawable/share_rating_bar.xml @@ -0,0 +1,16 @@ + + + + + + + + + + \ No newline at end of file diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml index 864ddbe8fb..b4f42bea9f 100644 --- a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml +++ b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_description.xml @@ -75,17 +75,20 @@ android:layout_weight="1" android:orientation="vertical"> - + diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_load_status.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_load_status.xml index 7a9c631005..8ed4a217d7 100644 --- a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_load_status.xml +++ b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_share_load_status.xml @@ -1,15 +1,16 @@ - + +