From 1c22df6f9f652b00fb64f523f1e2ee717fb4cc68 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 14 十二月 2023 18:02:58 +0800
Subject: [PATCH] 2023年12月14日18:02:49

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java |  121 +++++++++++++++++-----------------------
 1 files changed, 51 insertions(+), 70 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 40e921a..9585d2a 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
@@ -1,12 +1,9 @@
 package com.hdl.photovoltaic.ui.message;
 
-import android.os.Build;
 import android.os.Bundle;
-import android.os.Handler;
 import android.view.View;
 
 
-import androidx.annotation.RequiresApi;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
@@ -34,11 +31,8 @@
     private static final String CURRENT_FRAGMENT = "state_fragment_show";
     private FragmentManager mFragmentManager;
     private Fragment currentFragment = new Fragment();
-    private List<Fragment> fragments = new ArrayList<>();
+    private final List<Fragment> fragmentList = new ArrayList<>();
     private int currentIndex = 0;
-    private AllMessageFragment mAllMessageFragment;
-    private NascentMessageFragment mNascentMessageFragment;
-    private RecoverMessageFragment mRecoverMessageFragment;
 
     @Override
     public Object getContentView() {
@@ -49,6 +43,7 @@
     @Override
     public void onBindView(Bundle savedInstanceState) {
 
+        //鍒濆鍖栫鐗�
         initFragment(savedInstanceState);
         //鍒濆鍖栫晫闈�
         initView();
@@ -64,28 +59,20 @@
         viewBinding.messageTabNascentCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.line1V.setVisibility(View.GONE);
-                viewBinding.line2V.setVisibility(View.VISIBLE);
-                viewBinding.line3V.setVisibility(View.GONE);
-                showFragment(0);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
+                currentIndex = 0;
+                showFragment();
+                initView();
+
             }
         });
         //宸叉仮澶�
         viewBinding.messageTabRecoverCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.line1V.setVisibility(View.GONE);
-                viewBinding.line2V.setVisibility(View.GONE);
-                viewBinding.line3V.setVisibility(View.VISIBLE);
-                showFragment(1);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
+                currentIndex = 1;
+                showFragment();
+                initView();
+
             }
         });
 
@@ -93,32 +80,38 @@
         viewBinding.messageTabAllCl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-                viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-                viewBinding.line1V.setVisibility(View.VISIBLE);
-                viewBinding.line2V.setVisibility(View.GONE);
-                viewBinding.line3V.setVisibility(View.GONE);
-                showFragment(2);
-                postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
-
+                currentIndex = 2;
+                showFragment();
+                initView();
             }
         });
     }
 
 
     private void initView() {
-        viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-        viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
-        viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
-        viewBinding.line1V.setVisibility(View.GONE);
-        viewBinding.line2V.setVisibility(View.VISIBLE);
-        viewBinding.line3V.setVisibility(View.GONE);
         if (this.currentIndex == 0) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.line1V.setVisibility(View.GONE);
+            viewBinding.line2V.setVisibility(View.VISIBLE);
+            viewBinding.line3V.setVisibility(View.GONE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.nascent);
         } else if (this.currentIndex == 1) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.line1V.setVisibility(View.GONE);
+            viewBinding.line2V.setVisibility(View.GONE);
+            viewBinding.line3V.setVisibility(View.VISIBLE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.recover);
         } else if (this.currentIndex == 2) {
+            viewBinding.messageTabAllTitleTv.setTextColor(getResources().getColor(R.color.text_FFFFFFFF, null));
+            viewBinding.messageTabNascentTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.messageTabRecoverTitleTv.setTextColor(getResources().getColor(R.color.text80_FFFFFF, null));
+            viewBinding.line1V.setVisibility(View.VISIBLE);
+            viewBinding.line2V.setVisibility(View.GONE);
+            viewBinding.line3V.setVisibility(View.GONE);
             postEventBus(HdlCommonLogic.MessageFunctionTabSwitch.all);
         }
     }
@@ -146,41 +139,30 @@
      */
     private void initFragment(Bundle savedInstanceState) {
         mFragmentManager = _mActivity.getSupportFragmentManager();
-        //纰庣墖鍐呴渶瑕佷娇鐢ㄦ潈闄愬拰forresult
-
-        mNascentMessageFragment = new NascentMessageFragment();
-        mRecoverMessageFragment = new RecoverMessageFragment();
-        mAllMessageFragment = new AllMessageFragment();
+        //纰庣墖鍒濆鍖�
+        NascentMessageFragment mNascentMessageFragment = new NascentMessageFragment();
+        RecoverMessageFragment mRecoverMessageFragment = new RecoverMessageFragment();
+        AllMessageFragment mAllMessageFragment = new AllMessageFragment();
         if (savedInstanceState != null) {
             //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
             currentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0);
-            if (fragments.size() != 0) {
-                fragments.clear();
+            if (fragmentList.size() != 0) {
+                fragmentList.clear();
             }
-            fragments.add(mFragmentManager.findFragmentByTag(0 + ""));
-            fragments.add(mFragmentManager.findFragmentByTag(1 + ""));
-            fragments.add(mFragmentManager.findFragmentByTag(2 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(0 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
+            fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
             restoreFragment();//鎭㈠fragment椤甸潰
         } else {
             //姝e父鍚姩鏃惰皟鐢�
-            fragments.add(mAllMessageFragment);
-            fragments.add(mNascentMessageFragment);
-            fragments.add(mRecoverMessageFragment);
+            fragmentList.add(mNascentMessageFragment);
+            fragmentList.add(mRecoverMessageFragment);
+            fragmentList.add(mAllMessageFragment);
             showFragment();
 
 
         }
 
-    }
-
-    /**
-     * 鍒囨崲Fragment
-     *
-     * @param index 绱㈠紩
-     */
-    private void showFragment(int index) {
-        currentIndex = index;
-        showFragment();
     }
 
     /**
@@ -190,34 +172,33 @@
     private void showFragment() {
         FragmentTransaction ft = mFragmentManager.beginTransaction();
         //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
-        if (!fragments.get(currentIndex).isAdded()) {
+        if (!fragmentList.get(currentIndex).isAdded()) {
             //绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
             ft.hide(currentFragment)
-                    .add(R.id.message_fcv, fragments.get(currentIndex), "" + currentIndex);
+                    .add(R.id.message_fcv, fragmentList.get(currentIndex), currentIndex + "");
         } else {
             ft.hide(currentFragment)
-                    .show(fragments.get(currentIndex));
+                    .show(fragmentList.get(currentIndex));
         }
-        currentFragment = fragments.get(currentIndex);
+        currentFragment = fragmentList.get(currentIndex);
         ft.commit();
     }
 
     /**
      * 鎭㈠fragment
      */
-
     private void restoreFragment() {
         FragmentTransaction ft = mFragmentManager.beginTransaction();
-        for (int i = 0; i < fragments.size(); i++) {
+        for (int i = 0; i < fragmentList.size(); i++) {
             if (i == currentIndex) {
-                ft.show(fragments.get(i));
+                ft.show(fragmentList.get(i));
             } else {
-                ft.hide(fragments.get(i));
+                ft.hide(fragmentList.get(i));
             }
         }
         ft.commit();
         //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
-        currentFragment = fragments.get(currentIndex);
+        currentFragment = fragmentList.get(currentIndex);
     }
 
 

--
Gitblit v1.8.0