android - 使用底部导航栏从片段开始活动
问题描述
在我的应用程序中,我有 5 个片段。为了在它们之间切换,我使用底部导航栏。
另外,我需要从我的片段中打开活动,但是当我打开新活动时,它会在每个片段中打开。(我的意思是碎片,在每种情况下)
如何在一种情况下使活动开放?
我的代码:
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.nav_home:
fragmentManager.beginTransaction().hide(active).show(fragment1).commit();
active = fragment1;
return true;
case R.id.nav_bookmark:
fragmentManager.beginTransaction().hide(active).show(fragment2).commit();
active = fragment2;
return true;
case R.id.nav_blog:
fragmentManager.beginTransaction().hide(active).show(fragment3).commit();
active = fragment3;
return true;
case R.id.nav_notification:
fragmentManager.beginTransaction().hide(active).show(fragment4).commit();
active = fragment4;
return true;
case R.id.nav_account:
fragmentManager.beginTransaction().hide(active).show(fragment5).commit();
active = fragment5;
return true;
}
return false;
}
};
谢谢!
解决方案
这显然是 FragmentManager 问题 - 而不是 Activity 问题。
而是.hide().show()
使用.replace()
.
有关参考,请参阅文档。
推荐阅读
- python - python2.7中处理UnicodeEncodeError
- time-series - 为什么简单的指数平滑会为不同的观察结果返回相同的预测
- java - 从自定义列表视图中获取每个选中的项目
- arrays - 创建具有多个元素的 Bash 数组
- mobile - 允许在框架中上下触摸控制
- linux - Linux + Wordpress:如何从 Linux Cron 作业中触发函数?
- c++ - 基于管道(非 FIFO)文件权限检查器 C++ 的服务器/客户端
- r - R - 如何创建任意列表列表
- javascript - 页面刷新时受控输入不清晰(Microsoft Edge)
- javascript - 如何对字典数组中的内容进行分组?