Skąd się bierze ActionBar w codelabs Android Kotlin Fundamentals bez jego definiowania

0

https://codelabs.developers.google.com/codelabs/kotlin-android-training-add-navigation/index.html#9

Robię refaktor mojej aplikacji napisanej w javie i chcę finalnie mieć navigation view z drawer menu.

Po napisaniu kodu w mojej apce podobnie jak w tutorialu wyżej dostaję błąd: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.appcompat.app.ActionBar.setTitle(java.lang.CharSequence)' on a null object reference

Dostaję go na linijce w moim kodzie javovym: NavigationUI.setupActionBarWithNavController(this, navController, drawerLayout);

Nie wrzucam swojego kodu, ale mam prośbę o wytłumaczenie dlaczego w tutorialu ta linijka nie wywala się, nie rozumiem dlaczego u nich pojawia się menu boczne (hamburger) a u mnie rzuca błędem.

Przed refaktorem ustawiałem ręcznie toolbar, ale chcę mieć taki kod jak w codelabs :)

Dodam że każdy mój fragment w pliku navigation.xml ma swój label. Ja mam nowsze biblioteki w projekcie, ale to chyba nie powinno być problemem

2

ActionBar bierze się z motywu nakładanego na aktywność. Pewnie masz wybrany motyw z rodziny NoActionBar. Jeśli nie, to pewnie nie ustawiasz ActionBar wcześniej (chociaż nie wiem czy trzeba, nie korzystam z NavigationUI).

0

Dzięki @Michał Sikora, używałem właśnie motywu z grupy NoActionBar :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1