| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | setStatusBarTranslucent(); |
| | | getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); |
| | | //初始化碎片 |
| | | initFragment(savedInstanceState); |
| | | initFragment(null); |
| | | //初始化 |
| | | this.initView(); |
| | | //初始化界面监听器 |
| | |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(1 + "")); |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(2 + "")); |
| | | fragmentList.add(mFragmentManager.findFragmentByTag(3 + "")); |
| | | restoreFragment();//恢复fragment页面 |
| | | this.restoreFragment();//恢复fragment页面 |
| | | } else { |
| | | // |
| | | this.removeAllFragments(); |
| | | //正常启动时调用 |
| | | 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(); |
| | | // } |
| | | // // 正常启动时调用 |
| | | // fragmentList.add(mHomePageFragment); |
| | | // fragmentList.add(mHouseAndDeviceFragment); |
| | | // fragmentList.add(mMessageFragment); |
| | | // fragmentList.add(mMeFragment); |
| | | // FragmentUtils.loadMultipleFragment(R.id.module_fcv, mFragmentManager, fragmentList.toArray(new Fragment[0])); |
| | | } |
| | | |
| | | |
| | |
| | | * 显示fragment |
| | | */ |
| | | private void showFragment() { |
| | | // FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]); |
| | | FragmentTransaction ft = mFragmentManager.beginTransaction(); |
| | | //如果之前没有添加过 |
| | | if (!fragmentList.get(currentFragmentIndex).isAdded()) { |
| | |
| | | } else { |
| | | ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); |
| | | } |
| | | //把当前显示的fragment记录下来 |
| | | currentFragment = fragmentList.get(currentFragmentIndex); |
| | | ft.commit(); |
| | | //把当前显示的fragment记录下来 |
| | | currentFragment = fragmentList.get(currentFragmentIndex); |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | ft.commit(); |
| | | } |
| | | |
| | | private void removeAllFragments() { |
| | | if (mFragmentManager == null) return; |
| | | try { |
| | | final List<Fragment> fragments = mFragmentManager.getFragments(); |
| | | if (fragments.isEmpty()) { |
| | | return; |
| | | } |
| | | FragmentTransaction transaction = mFragmentManager.beginTransaction(); |
| | | for (int i = 0; i < fragments.size(); i++) { |
| | | Fragment fragment = fragments.get(i); |
| | | if (fragment != null) { |
| | | transaction.remove(fragment); |
| | | } |
| | | } |
| | | transaction.commit(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onResume() { |