Использование ресурса меню для запуска новых действий в Android? - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть файл ресурсов меню в моем приложении 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, если у них тоже есть панели действий. Я не уверен, почему это так, но я знаю, что делаю что-то не так. Кто-нибудь может помочь? Спасибо

...