如何在Android中将导航栏与导航图一起使用

时间:2019-09-04 11:04:40

标签: android android-fragments kotlin navigationbar

我在项目中使用导航图和导航栏,并且想在其中一个底部使用主机导航。但是代码不起作用。实际上,当我将androidx.navigation.Navigation导入导致应用崩溃的片段时。 id如何解决这个问题? 在这里,我写了如何更改代码的片段和女巫部分,从而导致enter image description here错误。

// The part of code that makes error
navController = Navigation.findNavController(view)
        view.findViewById<Button>(R.id.id_postBtn).setOnClickListener(this)



// how i change fragment
private fun replaceFrag(frag: Fragment){
        val fragTran = supportFragmentManager.beginTransaction()
        fragTran.replace(R.id.container, frag)
        fragTran.commit()
    }

1 个答案:

答案 0 :(得分:0)

导航图中,您必须在源代码片段下设置一个操作。就像:

<action
     android:id="@+id/search_action"
     app:destination="@+id/destinationFragmentId" />

在这里,重要的是 action 标签的 id 。 现在,在源代码片段中,您必须像yourButton.setOnClickListener(Navigation.createNavigateOnClickListener(R.id.search_action));

那样更改按钮单击侦听器
  

这里的id与动作标签的ID相同。

并且无需替换片段或提交片段。一切都会照顾您的导航图。首先在导航图中设计正确的地图。

有关更多信息,您可以访问here