如何为Android片段实现onBackPressed(标签活动)

时间:2018-08-27 03:55:32

标签: java android android-fragments android-tabs

我正在开发一个包含Tabs活动的Android应用程序。我的Tabs活动包含四个tabs(Fragments--[1][2][3][4])。我想要的是,当我按“后退”按钮时,必须将其重定向到上一个选项卡,而不是第一个选项卡。像

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

请帮帮我。我必须在TabsActivity类中写些什么。

3 个答案:

答案 0 :(得分:1)

假设

您的四个片段都被ViewPager加热了。

逻辑

您可以将代码写入

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

    }
   }

和明智的

答案 1 :(得分:0)

在所附的活动onBackPressed()中,您必须像下面那样实现

@Override
void onBackPressed()
{
   if(viewPager.getCurrentItem==3){
      viewPager.setCurrentItem(2)
   }
   else if{
     //do your stuff here
    }
}

答案 2 :(得分:0)

使用逻辑而不是硬编码页码。 以下解决方案适用于Viewpager中每个项目的2,3,... n。

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

如果您使用的是 TabHost ,则可以使用this solution.