如何为 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.
我正在开发一个 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.