Как реализовать onBackPressed для фрагментов Android (вкладки Activity) - PullRequest
0 голосов
/ 27 августа 2018

Я разрабатываю приложение для Android, которое содержит активность Tabs.Моя Tabs активность содержит четыре tabs(Fragments--[1][2][3][4]).Я хочу, чтобы при нажатии кнопки «Назад» она перенаправлялась на предыдущую вкладку, а не на первую вкладку.Как

[4] -> [3]
[3] -> [2]
[2] -> [1]
[1] -> Alert to logout from the App

Пожалуйста, помогите мне.Что я должен написать в моем TabsActivity классе.

Ответы [ 3 ]

0 голосов
/ 27 августа 2018

В прилагаемом вами занятии onBackPressed() вы должны выполнить, как показано ниже,

@Override
void onBackPressed()
{
   if(viewPager.getCurrentItem==3){
      viewPager.setCurrentItem(2)
   }
   else if{
     //do your stuff here
    }
}
0 голосов
/ 27 августа 2018

Используйте логику вместо жестких кодов номеров страниц.Приведенное ниже решение работает с 2,3, ... n, каждым числом элементов в Viewpager.

@Override
public void onBackPressed() {
    if (viewPager.getCurrentItem() != 0) {
        viewPager.setCurrentItem(viewPager.getCurrentItem() - 1);
    } else super.onBackPressed();
}

Если вы используете TabHost, тогда вы можете использовать это решение.

0 голосов
/ 27 августа 2018

Предположение

Ваши четыре фрагмента скрыты с помощью ViewPager.

Логика

Вы можете написать свой код в

 @Override
    void onBackPressed()
    {
    if(viewPager.getCurrentItem==3)
    {
    viewPager.setCurrentItem(2)
    }
    else if{

    }
   }

и тому подобное

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...