Как использовать onBackPressed в действии, которое перемещает экран с помощью другого действия?

#java #android

#java #Android

Вопрос:

У меня небольшая проблема. У меня есть два действия (GalleryActivity и GalleryVideoActivity), и после переключения между ними я бы вернулся к первому действию (GalleryActivity), нажав только один раз на кнопку «Назад», потому что я должен нажимать кнопку «Назад» столько раз, сколько я пролистал. Возможно ли это? Заранее всем спасибо!

Комментарии:

1. Не могли бы вы объяснить подробнее? Ваш вопрос немного неясен. Вы хотите вернуться к предыдущему действию, проведя пальцем? Вы это имели в виду?

2. вы проводите действия с помощью viewpager?

3. @ RezaulIslam да, мне жаль, но это немного сложно объяснить. Предположим, что мы находимся в ГалерееVideoActivity после 3-кратного перемещения по экрану. Если я нажму кнопку, чтобы вернуться назад, мне придется нажимать ее столько раз, сколько я проводил раньше. Надеюсь, теперь это более понятно для понимания

4. @takieddine нет, я не использовал viewpager

Ответ №1:

Итак, если я понимаю, ваша проблема заключается в том, что вы перемещаетесь между действиями, и при каждом перемещении они создают новые экземпляры, поэтому в качестве решения предлагается следующее: в вашем файле манифеста в разделе activity добавьте launchMode=»singleInstance» , поскольку это создаст только один экземпляр этого действия.

  • Это пример
   <activity
            android:name=".ui.apppassword.PasswordRestoreActivity"
            android:screenOrientation="portrait"
            android:launchMode="singleInstance"/>
 

Комментарии:

1. Да, каждый раз, когда я переключаюсь между действиями, они создают новые экземпляры. Однако добавление этого работает отлично. Большое вам спасибо.

2. Я рад помочь товарищу, удачи

3. если ответ был полезным, пожалуйста, поддержите его, чтобы кто-то другой тоже счел его полезным, спасибо

4. Я уже поддержал ваш ответ, большое вам спасибо! 😉

5. О, хорошо, я думаю, что с сайтом что-то не так, я думаю, потому что он не обновлен: D, все равно спасибо, приятель, удачи

Ответ №2:

В GalleryVideoActivity переопределите метод onBackpress и вернитесь к GalleryActivity, указав простое намерение.

Комментарии:

1. Я тоже думаю, что это решение, но я не знаю, как реализовать onBackPressed. Вы можете мне помочь?

Ответ №3:

Вот что вам нужно добавить в GalleryVideoActivity, чтобы реализовать onBackPressed, как заявил Майк:

 @Override
public void onBackPressed() {
    Intent toGalleryActivity = new Intent(this, GalleryActivity.class);
    startActivity(toGalleryActivity);
}
 

Это запускает GalleryActivity каждый раз, когда нажимается кнопка «Назад» в GalleryVideoActivity.

Комментарии:

1. Да, я имею в виду что-то вроде этого, но таким образом будет цикл