我正在尝试在Kotlin中实现导航抽屉,但出现错误

时间:2019-05-03 22:33:31

标签: android kotlin navigation-drawer

我正在尝试实现android导航抽屉,它是导航UI的一部分,但是在通过kotlin进行实现时,出现了一个错误,提示未解决的错误。

    class HomeActivity : AppCompatActivity(){
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)

            val appBarConfiguration = AppBarConfiguration(navController.graph, drawerLayout)

            setContentView(R.layout.activityhome)

        }
    }

2 个答案:

答案 0 :(得分:2)

根据Navigation Declaring Dependencies documentation,如果您使用Kotlin编写文档,则假定您正在使用-ktx版本的依赖项。

AppBarConfiguration(NavGraph, Drawerlayout) method是Kotlin扩展,仅在navigation-ui-ktx依赖项中可用。

答案 1 :(得分:1)

如果您不想使用jetpack,可以使用它代替导航UI

    val drawwerlayout = drawer_layout
    val t = ActionBarDrawerToggle(this,drawwerlayout,R.string.drawer_open,R.string.drawer_close)
    drawwerlayout.addDrawerListener(t)
    t.syncState()

    supportActionBar?.setDisplayHomeAsUpEnabled(true)

    nav_view.setNavigationItemSelectedListener {
        when(it.itemId)
        {
            R.id.logout -> {
                Snackbar.make(homeLayout,"Logged out Clicked", Snackbar.LENGTH_SHORT).show()
            }
        }
        drawwerlayout.closeDrawer(GravityCompat.START)
        true
    }