From b9cc7390e8e8ce64c41c26fb369c98ce669d660c Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 15:02:30 +0800 Subject: [PATCH] Merge branch '1.2.0' --- app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java index d73a6e3..1e292ba 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java @@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.lifecycle.Lifecycle; import android.Manifest; import android.content.Context; @@ -16,6 +17,7 @@ import android.os.SystemClock; import android.provider.Settings; import android.text.TextUtils; +import android.util.Log; import android.view.View; import android.widget.TextView; @@ -53,6 +55,7 @@ import com.hdl.photovoltaic.ui.powerstation.HouseAndDeviceFragment; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.FragmentUtils; import com.hdl.photovoltaic.utils.GPSManagerUtils; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.utils.SharedPreUtils; @@ -67,6 +70,7 @@ import com.hdl.sdk.link.core.config.HDLLinkConfig; import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +import com.umeng.analytics.MobclickAgent; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -104,7 +108,7 @@ setStatusBarTranslucent(); getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); //鍒濆鍖栫鐗� - initFragment(savedInstanceState); + initFragment(null); //鍒濆鍖� this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -143,23 +147,38 @@ if (savedInstanceState != null) { //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍� currentFragmentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0); - if (fragmentList.size() != 0) { + if (!fragmentList.isEmpty()) { fragmentList.clear(); } fragmentList.add(mFragmentManager.findFragmentByTag(0 + "")); fragmentList.add(mFragmentManager.findFragmentByTag(1 + "")); fragmentList.add(mFragmentManager.findFragmentByTag(2 + "")); fragmentList.add(mFragmentManager.findFragmentByTag(3 + "")); - restoreFragment();//鎭㈠fragment椤甸潰 + this.restoreFragment();//鎭㈠fragment椤甸潰 } else { + // + this.removeAllFragments(mFragmentManager); //姝e父鍚姩鏃惰皟鐢� + if (!fragmentList.isEmpty()) { + fragmentList.clear(); + } fragmentList.add(mHomePageFragment); fragmentList.add(mHouseAndDeviceFragment); fragmentList.add(mMessageFragment); fragmentList.add(mMeFragment); - showFragment(); + this.showFragment(); } + +// if (!fragmentList.isEmpty()) { +// fragmentList.clear(); +// } +// // 姝e父鍚姩鏃惰皟鐢� +// fragmentList.add(mHomePageFragment); +// fragmentList.add(mHouseAndDeviceFragment); +// fragmentList.add(mMessageFragment); +// fragmentList.add(mMeFragment); +// FragmentUtils.loadMultipleFragment(R.id.module_fcv, mFragmentManager, fragmentList.toArray(new Fragment[0])); } @@ -168,6 +187,7 @@ * 鏄剧ずfragment */ private void showFragment() { +// FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]); FragmentTransaction ft = mFragmentManager.beginTransaction(); //濡傛灉涔嬪墠娌℃湁娣诲姞杩� if (!fragmentList.get(currentFragmentIndex).isAdded()) { @@ -176,12 +196,10 @@ } else { ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); } + //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 currentFragment = fragmentList.get(currentFragmentIndex); ft.commit(); //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 - currentFragment = fragmentList.get(currentFragmentIndex); - - } /** @@ -197,6 +215,28 @@ } } ft.commit(); + } + + private void removeAllFragments(FragmentManager manager) { + if (manager == null) return; + try { + final List<Fragment> fragments = manager.getFragments(); + if (fragments.isEmpty()) { + return; + } + FragmentTransaction transaction = manager.beginTransaction(); + for (int i = 0; i < fragments.size(); i++) { + Fragment fragment = fragments.get(i); + if (fragment != null) { +// FragmentManager childManager = fragment.getChildFragmentManager(); +// removeAllFragments(childManager); + transaction.remove(fragment); + } + } + transaction.commit(); + } catch (Exception e) { + e.printStackTrace(); + } } @@ -623,7 +663,7 @@ return; } int index = -1; - List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()); + List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId(), null); for (int i = 0; i < list.size(); i++) { GatewayBean gatewayBean = list.get(i); if (gatewayBean.getGatewayId().equals(topics[2])) { @@ -784,7 +824,10 @@ return; } else { AppManagerUtils.getAppManager().finishAllActivity(); + //濡傛灉寮�鍙戣�呰皟鐢╧ill鎴栬�卐xit涔嬬被鐨勬柟娉曟潃姝昏繘绋嬶紝鎴栬�呭弻鍑籦ack閿細鏉�姝昏繘绋嬶紝璇峰姟蹇呭湪姝や箣鍓嶈皟鐢∕obclickAgent.onKillProcess鏂规硶锛岀敤鏉ヤ繚瀛樼粺璁℃暟鎹�� + MobclickAgent.onKillProcess(_mActivity); Process.killProcess(Process.myPid()); + } } super.onBackPressed(); -- Gitblit v1.8.0