Кнопка назад Toolbar

108
04 октября 2019, 22:50

Прочел документацию, и сделал как написано AndroidManifest.xml

<activity
        android:name=".LoginActivity"
        android:label="@string/title_activity_login"
        android:launchMode="singleTop"
        android:parentActivityName=".MainActivity"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".CreateActivity"
        android:label="@string/title_activity_sign_up"
        android:parentActivityName=".LoginActivity"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".ResetActivity"
        android:label="@string/title_activity_reset"
        android:parentActivityName=".LoginActivity"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity
        android:name=".SelectActivity"
        android:parentActivityName=".MainActivity"
        android:theme="@style/AppTheme.NoActionBar" />

У меня два activity должны вернуться к LoginActivity, но во время нажатия стрелки назад идет к MainActivity, как это исправить?

Answer 1

Если я правильно понял то у вас на toolbar есть стрелка и вам нужно задать переход на определенную активность. Сама стрелка как вы вероятнее всего знаете добавляется так:

Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

дальше вам нужно переопределить функцию onSupportNavigateUp так:

 @Override
    public boolean onSupportNavigateUp() {
        onBackPressed();
        return true;
    }

в моем случае эта функция обращается к функции нажатия на кнопку назад внизу экрана, то есть как-бы дублирует ее, но вообще можно задать что угодно при нажатии на эту кнопку, например переход на нужную вам активность:

 @Override
    public boolean onSupportNavigateUp() {
        Intent intent = new Intent(YourActivity.this, LoginActivity.class);
        startActivity(intent);
        return true;
    }

и я честно говоря не очень уверен что вам нужно что-то прописывать в манифесте, лично я ничего не прописывал для возврата на другую активность. Если возникнут сложности или какие-то вопросы, то с радостью поможем. Удачи :)

READ ALSO
Почему у меня не работает аннотация @PreRemove?

Почему у меня не работает аннотация @PreRemove?

Пишу интеграционные тесты для сервисов с базой в памяти (h2)Сервисы не содержат никакой логики и просто вызывают аналогичные методы у ДАО

115
stream стал доступен на Android api 21?

stream стал доступен на Android api 21?

У меня minSdkVersion == 21

129
Winium кликает на неправильный элемент

Winium кликает на неправильный элемент

Всем привет, я пытаюсь использовать Winium для автоматизации Java тестов для десктоп приложенияЛокаторы подбираю с помощью тулы UiSpy, пытаюсь найти...

91