diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt index 97d9514975..d958b6bff1 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/EventPagerAdapter.kt @@ -3,6 +3,7 @@ package com.zhidao.mogo.module.event.panel.adapter import androidx.fragment.app.Fragment import androidx.viewpager2.adapter.FragmentStateAdapter import com.zhidao.mogo.module.event.panel.fragment.MyShareFragment +import com.zhidao.mogo.module.event.panel.fragment.ShareEventsFragment import com.zhidao.mogo.module.event.panel.fragment.SurroundingEventFragment import com.zhidao.mogo.module.event.panel.fragment.TripRecordFragment @@ -12,7 +13,7 @@ import com.zhidao.mogo.module.event.panel.fragment.TripRecordFragment * @author tongchenfei */ class EventPagerAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) { - private val fragments:Array = arrayOf(TripRecordFragment(), SurroundingEventFragment(), MyShareFragment()) + private val fragments:Array = arrayOf(TripRecordFragment(), SurroundingEventFragment(), ShareEventsFragment()) /** * 目前一共就三个fragment 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 new file mode 100644 index 0000000000..4d7322c590 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/adapter/ShareEventAdapter.java @@ -0,0 +1,114 @@ +package com.zhidao.mogo.module.event.panel.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +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 java.util.ArrayList; + +public class ShareEventAdapter extends RecyclerView.Adapter { + private Context context; + private ArrayList dataArrayList; + private Object Tag = "ShareEventAdapter"; + private final LayoutInflater shareLayoutInflater; + + public static enum ITEM_TYPE { + ITEM_TYPE_NUM_DES, + ITEM_TYPE_SHARE_LIST + } + + public ShareEventAdapter(Context context, ArrayList dataArrayList) { + this.context = context; + this.dataArrayList = dataArrayList; + shareLayoutInflater = LayoutInflater.from(context); + } + + @NonNull + @Override + public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + //根据viewType创建自定义布局 + if (viewType == ITEM_TYPE.ITEM_TYPE_NUM_DES.ordinal()) { + View v = shareLayoutInflater.inflate(R.layout.module_event_panel_share_event_description, parent, + false); + shareDescriptionViewHolder holder = new shareDescriptionViewHolder(v); + return holder; + } else { + View v = shareLayoutInflater.inflate(R.layout.module_event_panel_my_share_item, parent, + false); + shareItemViewHolder holder = new shareItemViewHolder(v); + return holder; + } + + } + + @Override + public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { + if (position < 1) { + ShareEventDescription data = new ShareEventDescription(); + data.shareNum = "12"; + data.approveNum = "10"; + ((shareDescriptionViewHolder) holder).shareNumTextView.setText(data.shareNum); + ((shareDescriptionViewHolder) holder).approveNumTextView.setText(data.approveNum); + + } else { + ShareEventItem data = dataArrayList.get(position-1); + ((shareItemViewHolder) holder).caseStyleTextView.setText(data.caseStyle); + ((shareItemViewHolder) holder).caseAddressTextView.setText(data.caseAddress); + ((shareItemViewHolder) holder).caseTimeTextView.setText(data.caseTime); + } + + } + + @Override + public int getItemCount() { + return dataArrayList.size() + 1; + } + + @Override + public int getItemViewType(int position) { + int type = position == 0 ? ITEM_TYPE.ITEM_TYPE_NUM_DES.ordinal() : ITEM_TYPE.ITEM_TYPE_SHARE_LIST.ordinal(); + return type; + } + + /* + * 分享列表 + * */ + class shareItemViewHolder extends RecyclerView.ViewHolder { + private TextView caseStyleTextView; + private TextView caseAddressTextView; + private TextView caseTimeTextView; +// private TextView caseUsefulTextView; + + public shareItemViewHolder(@NonNull View itemView) { + super(itemView); + caseStyleTextView = itemView.findViewById(R.id.road_case_style); + caseAddressTextView = itemView.findViewById(R.id.road_case_address); + caseTimeTextView = itemView.findViewById(R.id.road_case_share_time); +// caseUsefulTextView = itemView.findViewById(R.id.road_case_useful_num); + } + } + + /* + * 分享次数,热心指数... + * */ + class shareDescriptionViewHolder extends RecyclerView.ViewHolder { + private TextView shareNumTextView; + private TextView approveNumTextView; + + public shareDescriptionViewHolder(@NonNull View itemView) { + super(itemView); + shareNumTextView = itemView.findViewById(R.id.share_num); + approveNumTextView = itemView.findViewById(R.id.share_approve); + } + } + +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java new file mode 100644 index 0000000000..ddd728241f --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventDescription.java @@ -0,0 +1,7 @@ +package com.zhidao.mogo.module.event.panel.bean; + +public class ShareEventDescription { + public String shareNum; + public String approveNum; + +} diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java new file mode 100644 index 0000000000..d04f3d4660 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/bean/ShareEventItem.java @@ -0,0 +1,11 @@ +package com.zhidao.mogo.module.event.panel.bean; + +import java.io.Serializable; + +public class ShareEventItem implements Serializable { + public String caseStyle; + public String caseAddress; + public String caseTime; +} + + diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt index 2d759ded94..5feeafa005 100644 --- a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/MyShareFragment.kt @@ -10,7 +10,7 @@ class MyShareFragment : MvpFragment() { * * @return */ - override fun getLayoutId(): Int = R.layout.module_event_panel_fragment_my_share + override fun getLayoutId(): Int = R.layout.module_event_panel_my_share_item /** * 初始化控件,必须在初始化完成之后才可以实例化presenter,避免 diff --git a/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java new file mode 100644 index 0000000000..cf8a4d4ad1 --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/fragment/ShareEventsFragment.java @@ -0,0 +1,71 @@ +package com.zhidao.mogo.module.event.panel.fragment; + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; + +import com.mogo.commons.mvp.MvpFragment; +import com.zhidao.mogo.module.event.panel.R; +import com.zhidao.mogo.module.event.panel.adapter.ShareEventAdapter; +import com.zhidao.mogo.module.event.panel.bean.ShareEventItem; +import com.zhidao.mogo.module.event.panel.presenter.ShareEventsPresenter; + +import java.util.ArrayList; + +public class ShareEventsFragment extends MvpFragment { + + private RecyclerView recyclerView; + private View view; + private ShareEventAdapter adapter; + private ArrayList dataArrayList = new ArrayList(); + + @Override + protected int getLayoutId() { + return R.layout.module_event_panel_share_event_recylerview; + } + + @Override + protected void initViews() { + + } + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + view = inflater.inflate(R.layout.module_event_panel_share_event_recylerview, container, false); + initRecyclerView(); + initData(); + return view; + } + + private void initRecyclerView() { + recyclerView = view.findViewById(R.id.road_case_share_list); + adapter = new ShareEventAdapter(getActivity(),dataArrayList); + recyclerView.setAdapter(adapter); + LinearLayoutManager linearLayoutManager = + new LinearLayoutManager( getActivity(), LinearLayoutManager.VERTICAL, false ); + recyclerView.setLayoutManager(linearLayoutManager); + } + + private void initData() { + for (int i = 0; i < 12; i++) { + ShareEventItem data = new ShareEventItem(); + data.caseStyle = "道路拥堵"; + data.caseAddress = "环球贸易中心"; + data.caseTime = "2020-07-21 12:00:00"; + dataArrayList.add(data); + } + } + + @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 new file mode 100644 index 0000000000..4538dd7a7d --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/java/com/zhidao/mogo/module/event/panel/presenter/ShareEventsPresenter.java @@ -0,0 +1,11 @@ +package com.zhidao.mogo.module.event.panel.presenter; + +import com.mogo.commons.mvp.IView; +import com.mogo.commons.mvp.Presenter; +import com.zhidao.mogo.module.event.panel.fragment.ShareEventsFragment; + +public class ShareEventsPresenter extends Presenter { + public ShareEventsPresenter(IView view) { + super((ShareEventsFragment) view); + } +} diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml deleted file mode 100644 index 3a5d7413a6..0000000000 --- a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_fragment_my_share.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - \ No newline at end of file diff --git a/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_my_share_item.xml b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_my_share_item.xml new file mode 100644 index 0000000000..87f4c653ab --- /dev/null +++ b/modules/mogo-module-event-panel/src/main/res/layout/module_event_panel_my_share_item.xml @@ -0,0 +1,84 @@ + + + + + + + + + +