From 5df76d441a853b1a5d2dff018c01327eb3a717b3 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 27 十二月 2023 19:25:57 +0800 Subject: [PATCH] 2023年12月27日19:25:46 --- app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 118 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java index 9753060..03a535d 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/NascentMessageFragment.java @@ -3,19 +3,136 @@ import android.os.Bundle; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; + +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseFragment; +import com.hdl.photovoltaic.config.ConstantManage; +import com.hdl.photovoltaic.databinding.FragmentNascentMessageBinding; +import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlCommonLogic; +import com.hdl.photovoltaic.other.HdlMessageLogic; +import com.hdl.photovoltaic.ui.adapter.MessageAdapter; +import com.hdl.photovoltaic.ui.bean.MessageBean; +import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; + +import java.util.ArrayList; +import java.util.List; /** * 娑堟伅-鍙戠敓涓� */ public class NascentMessageFragment extends CustomBaseFragment { + private FragmentNascentMessageBinding viewBinding; + + private MessageAdapter messageNascentAdapter; + + private final List<MessageBean> mList = new ArrayList<>(); + @Override public Object getContentView() { - return null; + viewBinding = FragmentNascentMessageBinding.inflate(getLayoutInflater()); + return viewBinding.getRoot(); } @Override public void onBindView(Bundle savedInstanceState) { + //鍒濆鍖栨暟鎹� + initData(); + //鍒濆鍖栫晫闈� + initView(); + //鍒濆鍖栫洃鍚櫒 + initEvent(); + } + private void initData() { + getNascentMessageList(true); + } + + private void initEvent() { + //璁剧疆涓嬫媺绠ご棰滆壊 + viewBinding.messageNascentSrl.setColorSchemeResources(R.color.text_FF245EC3); + viewBinding.messageNascentSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + mList.clear();//琛ㄧず寮哄埗閲嶆柊璇锋眰娑堟伅鍒楄〃 + getNascentMessageList(false); + } + }); + messageNascentAdapter.setNoOnclickListener(new MessageAdapter.OnclickListener() { + @Override + public void onClick(int position, MessageBean item) { + + } + }); + } + + private void initView() { + viewBinding.messageNascentRecyclerview.setLayoutManager(new LinearLayoutManager(_mActivity)); + messageNascentAdapter = new MessageAdapter(this.mList, _mActivity); + viewBinding.messageNascentRecyclerview.setAdapter(messageNascentAdapter); + } + + /** + * 鍒锋柊鍒楄〃鏁版嵁 + */ + private void updateListData() { + if (this.messageNascentAdapter != null) { + this.messageNascentAdapter.setList(mList); + this.messageNascentAdapter.notifyDataSetChanged(); + } + } + + @Override + public void onEventMessage(BaseEventBus eventBus) { + super.onEventMessage(eventBus); + //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 + if (eventBus.getTopic().equals(ConstantManage.message_function_tab_switch)) { + if (eventBus.getType().equals(MessageFunctionTabSwitch.nascent.toString())) { + getNascentMessageList(true); + } + } + } + + /** + * 鑾峰彇鍙戠敓涓殑娑堟伅鍒楄〃 + * + * @param isShowLoading 鏄惁鍚姩 true鍚姩 + */ + private void getNascentMessageList(boolean isShowLoading) { + if (mList.size() == 0) { + if (isShowLoading) { + showLoading(); + } + HdlMessageLogic.getInstance().getMessageList(HdlMessageLogic.MessageStatus.untreated, new CloudCallBeak<List<MessageBean>>() { + @Override + public void onSuccess(List<MessageBean> list) { + if (isShowLoading) { + hideLoading(); + } + if (!isShowLoading) { + viewBinding.messageNascentSrl.setRefreshing(false); + } + + if (list != null && list.size() != 0) { + mList.addAll(list); + updateListData(); + } + } + + @Override + public void onFailure(HDLException e) { + if (isShowLoading) { + hideLoading(); + } + if (!isShowLoading) { + viewBinding.messageNascentSrl.setRefreshing(false); + } + } + }); + } } } -- Gitblit v1.8.0