From 2744dfb7867000f044c60fe4ee9103ad51532b9b Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 10 一月 2024 18:12:39 +0800
Subject: [PATCH] 2024年01月10日18:12:32

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
index ff6ccf9..8efa489 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -15,12 +15,16 @@
 import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
 import com.hdl.photovoltaic.enums.MessageFunctionTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.ui.bean.BUserInfo;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 
 import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -67,6 +71,7 @@
                 currentIndex = 0;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.nascent);
 
             }
         });
@@ -77,6 +82,7 @@
                 currentIndex = 1;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.recover);
 
             }
         });
@@ -88,6 +94,7 @@
                 currentIndex = 2;
                 initView();
                 showFragment();
+                postEventBus(MessageFunctionTabSwitch.all);
             }
         });
     }
@@ -116,6 +123,7 @@
             viewBinding.line2V.setVisibility(View.GONE);
             viewBinding.line3V.setVisibility(View.VISIBLE);
         }
+
     }
 
     private void initData() {
@@ -130,7 +138,8 @@
         BaseEventBus baseEventBus = new BaseEventBus();
         baseEventBus.setTopic(ConstantManage.message_function_tab_switch);
         baseEventBus.setType(tabSwitch.toString());
-        EventBus.getDefault().post(baseEventBus);
+        //鍙戦�佺矘鎬т簨浠�(濡傛灉涓嶅彂绮樻�т簨浠朵細閬囧埌涓�涓病鏈夊姞杞藉嚭鏉ョ殑纰庣墖鎺ユ敹涓嶅埌淇℃伅)
+        EventBus.getDefault().postSticky(baseEventBus);
     }
 
 
@@ -183,13 +192,6 @@
         //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
         currentFragment = fragmentList.get(currentIndex);
 
-        if (this.currentIndex == 0) {
-            postEventBus(MessageFunctionTabSwitch.nascent);
-        } else if (this.currentIndex == 1) {
-            postEventBus(MessageFunctionTabSwitch.recover);
-        } else if (this.currentIndex == 2) {
-            postEventBus(MessageFunctionTabSwitch.all);
-        }
 
     }
 
@@ -209,16 +211,28 @@
 
     }
 
-
-    @Override
+    @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
     public void onEventMessage(BaseEventBus eventBus) {
         super.onEventMessage(eventBus);
+        if (eventBus == null) {
+            return;
+        }
         //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
         if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
             if (eventBus.getType().equals(HomepageTitleTabSwitch.message.toString())) {
+                // 鍙栨秷绮樻�т簨浠�
+                EventBus.getDefault().removeStickyEvent(eventBus);
                 postEventBus(MessageFunctionTabSwitch.nascent);
                 HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
             }
+        } else if (eventBus.getTopic().equals(ConstantManage.message_count)) {
+            if (eventBus.getType().equals(MessageStateType.untreated)) {
+                String s = getText(R.string.message_nascent) + "(" + HdlMessageLogic.getInstance().getNascentMessageMemoryList().size() + ")";
+                viewBinding.messageTabNascentTitleTv.setText(s);
+            } else if (eventBus.getType().equals(MessageStateType.processed)) {
+                String s = getText(R.string.message_recover) + "(" + HdlMessageLogic.getInstance().getRecoverMessageMemoryList().size() + ")";
+                viewBinding.messageTabRecoverTitleTv.setText(s);
+            }
         }
     }
 

--
Gitblit v1.8.0