我想让我的应用程序更改片段视图和底部导航菜单中的选定项。我尝试这样做:
private void replaceFragment(Fragment fragment){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frameLayout,fragment);
fragmentTransaction.commit();
}
它改变了片段,但底部导航菜单中的选定项没有改变。我试着做startActivity(new Intent(activity.this, destination.class));
,但它不适合应用程序,因为它也刷新了底部导航菜单,这不是我想要的。我想要的是片段和底部导航菜单中的选定项都改变。
this is the fragment where the button is
我希望在单击“立即预订”按钮时应用程序转到此处:
this is where i wanted it to go
正如您在这张图片中看到的,片段发生了变化,但选定的项没有变化。
1条答案
按热度按时间f0ofjuux1#
您可以使用Jet pack Navigation组件中的底部导航视图实现来完成这项工作。它简单明了。底部导航将默认处理所有项目选定的用例。您也可以轻松地自定义它。这里我添加了底部导航设置的Kotlin示例。第01步:将以下依赖项添加到您的应用的build.gradle文件:
步骤02:通过XML添加NavHostFragment作为应用的主Activity的一部分:
步骤03:初始化你的main main activity的底部导航视图和导航控制器OnCreate()
您还可以使用此实现定义带有导航图的目标。如果您需要添加或自定义bottomNaivationView项目徽章,您可以使用以下示例fun: