![](/img/trans.png)
[英]Data reset when moving from one to another fragment using Bottom Navigation Bar
[英]Bottom navigation bar stop a fragment running when another one is opened
所以我不知道如何做到这一点,甚至不知道从哪里开始,所以如果有人有足够的耐心解释如何做到这一点,我将不胜感激。 我已经在谷歌上查过了,但我发现很难理解(而且我很确定它可以更容易地完成。
我有 4 个片段(底部导航栏上有 4 个选项卡),我希望当时只运行 1 个。 现在,我很确定我应该使用 FragmentManager 但我真的不知道如何开始在我的程序中实现。
我必须在 mainActivity 中编写所有 FragmentTransaction 代码吗? 之后如何继续? 是否有示例代码?
免责声明:我在 android 工作室环境中是一个完全的菜鸟,我也是一名学生,我几乎把所有事情都作为一个学校项目。
你可以在你的代码中试试这个。 在 onNavigationItemSelected
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment fragment = null;
switch (item.getItemId()) {
case R.id.navigation_home:
fragment = new HomeFragment();
break;
case R.id.navigation_dashboard:
fragment = new DashboardFragment();
break;
case R.id.navigation_notifications:
fragment = new NotificationsFragment();
break;
case R.id.navigation_profile:
fragment = new ProfileFragment();
break;
}
return loadFragment(fragment);
}
private boolean loadFragment(Fragment fragment) {
//switching fragment
if (fragment != null) {
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.commit();
return true;
}
return false;
}
我希望这可以帮助你!
谢谢你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.