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