如何为 Android 片段(制表符 Activity)实现 onBackPressed

How to Implement onBackPressed for Android Fragments(Tabs Activity)

我正在开发一个 Android 应用程序,其中包含 Tabs Activity。我的 Tabs activity 包含四个 tabs(Fragments--[1][2][3][4])。我想要的是当我按下后退按钮时,它必须被重定向到前一个选项卡,而不是第一个选项卡。喜欢

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

请帮帮我。 TabsActivity class.

我要写什么

假设

您的四个片段已使用 ViewPager 热播。

逻辑

您可以将代码写入

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

    }
   }

也很聪明

在你附加的 Activity onBackPressed() 你必须像下面那样实现,

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

使用逻辑而不是硬编码页码。 下面的解决方案适用于 2,3,... n, Viewpager.

中的每个项目
@Override
public void onBackPressed() {
    if (viewPager.getCurrentItem() != 0) {
        viewPager.setCurrentItem(viewPager.getCurrentItem() - 1);
    } else super.onBackPressed();
}

如果您正在使用 TabHost 那么您可以使用 this solution.