我为此感到茫然.我在ViewPager中手动切换标签.我在Activity中有这个代码:
@Override
public void onBackPressed()
{
if (childFragmentStack.empty())
{
// Go to the devices screen
Intent intent = new Intent(this, SelectDeviceActivity.class);
startActivity(intent);
}
else
{
Fragment fragment = childFragmentStack.pop();
if (fragment == null)
{
return;
}
processingBackStack = true;
if (fragment instanceof ViewChildFragment)
{
viewFragment.activateFragment((ViewChildFragment) fragment);
mViewPager.setCurrentItem(VIEW_FRAGMENT_INDEX, true);
}
else if (fragment instanceof SetupChildFragment)
{
setupFragment.activateFragment((SetupChildFragment) fragment);
mViewPager.setCurrentItem(SETUP_FRAGMENT_INDEX, true); //**
}
else if (fragment == homeFragment)
{
mViewPager.setCurrentItem(HOME_FRAGMENT_INDEX, true); //**
}
processingBackStack = false;
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在选项卡之间滚动,我将它们添加到堆栈('childFragmentStack').我正在使用FragmentPagerAdapter来处理片段.如果我执行View-> Setup-> View-> Setup之类的操作然后将其反转,它只会达到Setup-> …