Bottom Navigation Activity使用Navigation管理Fragment转跳

跑了许多弯路,试了网上流传的回调方法

requireActivity().supportFragmentManager
    .beginTransaction()
    .replace(R.id.container, inputFrag, null)
    .hide(HomeFragment())
    .addToBackStack(null)
    .commit()

都不合适。

今天终于找到最适合的了

 

Bottom Navigation Activity使用Navigation管理Fragment。页面的跳转当然也应该使用Navigation进行相关操作

在Bottom Navigation Activity创建完成后,在DashBoard的页面中添加一个按钮(如下图),跳转到自己定义的Fragment中,这里是“YuzhiFragment”

     

首先,我们将新的Fragment添加到res- > navigation -> mobile_navigation.xml中,设置id,name为该Fragment所在的包名,layout是该Fragment的布局文件

<fragment
    android:id="@+id/navigation_yuzhifications"
    android:name="com.example.addfragment.ui.dashboard.YuzhiFragment"
    android:label="阈值"
    tools:layout="@layout/yuzhi_fragment" />

然后我们在该DashBoard中按钮的点击事件中,写上下面的语句即可:

Navigation.findNavController(root).navigate(R.id.navigation_yuzhifications);

 root 是 dashboard页面的view(系统已经写好),id为我们在mobile_navigation.xml文件中为fragment设置的id

这样,当我们点击按钮后,页面就会跳转到"YuzhiFragmnet",如下图。我在"YuzhiFragmnet"中定义一个文本框和返回按钮,同理我们在"返回"按钮的点击事件中写上:
Navigation.findNavController(view).navigateUp();即可返回上个页面

 

 

 

来源:https://www.cnblogs.com/maxiaobai/p/12933284.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值