我尝试使用BottomNavigation实现应用的第一个Activity。这将有三个选项卡,将打开三个不同的片段。
着陆片段是MapView,然后您可以访问其他片段,因此我替换它们。
private void replaceFragment(Fragment fragment, String tag) {
FragmentManager fragmentManager = getFragmentManager();
if(fragmentManager.findFragmentByTag(tag) != null) {
fragmentManager.popBackStack(tag, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}else {
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.replace(R.id.framelayout_home_content, fragment, tag);
ft.addToBackStack(tag);
ft.commit();
}
}
每次我替换片段并返回地图时,地图都会重新构建。有没有办法保持Map或加速进程,以避免每次显示时flickr?
我应该添加ToBackStack然后弹出它吗?
确实我已经尝试过但我不认为我做得对
private void showSearchMap() {
if (getFragmentManager().getBackStackEntryCount() == 0) return;
FragmentManager fm = getFragmentManager();
fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
为了避免在片段已经可见时打开片段:
if(getFragmentManager() .findFragmentById(R.id.framelayout_home_content) instanceof SettingsFragment)return;
有没有正确的方法来处理这个带碎片的BottomNavigation?