让我先定义我的问题:
我有一个带有 ActionBar 的 ViewPager,视图寻呼机的每个页面都是一个片段,每个页面本身都有自己的按钮来用另一个片段替换当前片段。例如:
我们首先启动应用程序并滑动到第三个选项卡,这里我们使用 viewPager onTabchanged 方法设置标题,没有问题,在这个页面中我们有按钮,单击它们将用新值替换页面本身(将第三页视为主页面显示项目列表和按钮的类别,例如将我们移动到再次作为项目列表的子类别)所以如果我们按两次按钮+我们来到第三页,每次我们替换片段现在我们在 backStack 中有 3 个片段!我想要的是 onBackButton Pressed actionBar 应该设置正确的标题,这是我尝试过的:
@Override
public void onBackPressed() {
int mFragmentCount = this.getSupportFragmentManager().getBackStackEntryCount();
super.onBackPressed();
if(mFragmentCount != 0)
{
FragmentManager.BackStackEntry backEntry=getSupportFragmentManager().getBackStackEntryAt(mFragmentCount-1);
String str=backEntry.getName(); //the tag of the fragment
mActionBar.setTitle(str);
}
}
但每次我得到 ArrayOutOfIndex 错误,例如无效索引 2 是 2 !
任何人都可以帮助我吗?
谢谢你!