Я пытаюсь реализовать навигационный ящик в kotlin, но получаю ошибку - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь реализовать ящик навигации для Android, который является частью пользовательского интерфейса навигации, но при его реализации через kotlin я получаю сообщение об ошибке, указывающее на неразрешенную ошибку.

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

            val appBarConfiguration = AppBarConfiguration(navController.graph, drawerLayout)

            setContentView(R.layout.activityhome)

        }
    }

Ответы [ 2 ]

2 голосов
/ 04 мая 2019

В соответствии с документацией Навигация объявления зависимостей в документации предполагается, что вы используете версии -ktx зависимостей, если вы пишете на Kotlin.

Метод AppBarConfiguration(NavGraph, Drawerlayout) является расширением Kotlin, доступным только в зависимости navigation-ui-ktx.

1 голос
/ 04 мая 2019

Мы можем использовать это вместо пользовательского интерфейса навигации, если вы не хотите использовать jetpack

    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
    }
...