У меня есть файл ресурсов меню в моем приложении Android, который я хочу отображать на всех экранах своего приложения в виде нижней панели навигации.
<item
android:id="@+id/navigation_home"
android:icon="@drawable/home_nav"
android:title="@string/home"
android:onClick="goHome"/>
<item
android:id="@+id/navigation_timer"
android:icon="@drawable/timer_nav"
android:title="@string/timer"
android:onClick="goToTimer"/>
<item
android:id="@+id/navigation_myAlarms"
android:icon="@drawable/myalarms_nav"
android:title="@string/my_alarms"
android:onClick="goToAlarms"
/>
<item
android:id="@+id/navigation_settings"
android:icon="@drawable/settings_nav"
android:title="@string/preferences"
android:onClick="goSettings"
/>
Для запуска новых экранов у меня есть использовал атрибут android:onClick
для ссылки на некоторые методы, которые я добавил в свой MainActivity.
public void goHome(MenuItem m) {
Intent h = new Intent(this, MainActivity.class);
startActivity(h);
}
public void goToTimer(MenuItem m) {
Intent t = new Intent(this, TimerActivity.class);
startActivity(t);
}
public void goToAlarms(MenuItem m) {
Intent a = new Intent(this, MyAlarms.class);
startActivity(a);
}
public void goSettings(MenuItem m) {
Intent s = new Intent(this, SettingsActivity.class);
startActivity(s);
}
Это работает для перехода к новым экранам, но вызовет sh, если у них тоже есть панели действий. Я не уверен, почему это так, но я знаю, что делаю что-то не так. Кто-нибудь может помочь? Спасибо