跑了许多弯路,试了网上流传的回调方法
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();即可返回上个页面