Mamy listę obiadów – jeden wielki mock póki co. Mamy listę posiłków – tu już lepiej – ma podłączenie do bazy i nawet się wyświetlają prosto z bazy. Ale nie mamy przejścia pomiędzy nimi. Trzeba to naprawić. Wykorzystajmy do tego toolbar.
Po pierwsze w AndroidManifest.xml wyłączamy domyślny ActionBar wrzucając do sekcji application linijkę:
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
Chcę mieć layout toolbara do wielokrotnego wykorzystania, więc w katalogu /res/layout tworzę sobie nowy xml:
https://gist.github.com/jezinka/19491b77998149a8fbb623a2361f138b
i załączam go do xmla z głównego ekranu:
https://gist.github.com/jezinka/f3793296ae9001d5e8f85196d3c7885e
OK, xmle opanowane, czas zainicjować toolbary w MainActivity, w metodzie onCreate dorzucamy
https://gist.github.com/jezinka/faee8644c6a0e4ee1d54d636888d8e3b
Do menu chcemy dołożyć link, który umożliwi nam przeniesienie się do listy posiłków. No to wracamy do xmli. Tworzymy sobie nowy plik w /res/menu i umieszczamy tam menu i pierwszy link:
Wracamy do MainActivity.java i czas dodać funkcje odpowiedzialne za wyświetlenie i obsługę kliknięcia przez użytkownika:
https://gist.github.com/jezinka/18aa9b2c84ef51e3e52ef6ed1e706842
W metodzie onCreateOptionsMenu robimy inflate na naszym xmlu. To da nam tyle, że aplikacja będzie wiedzieć, jakie elementy i o jakich id mamy w naszym xmlu. Przyda nam się to w metodzie onOptionsItemSelected gdzie mamy switch-case [sic!] po Id elementów. Jeśli dopasujemy kliknięty element do id, to odpalamy activity z ekranem MealList.
Czas na drugi ekran. Dołączamy toolbar do activity_meal_list.xml
https://gist.github.com/jezinka/3a9f92f2da26f6fa4d70223d9baf098b
Z MealListActivity chcemy mieć możliwość powrotu do ekranu głównego. Zainicjujmy toolbar i zróbmy powrót:
https://gist.github.com/jezinka/78dae2e2a68f84f5280e08303d50f359
Kolejny mały kamyczek do aplikacji 🙂