我在导航和活动的向上按钮方面遇到了一些问题。我在一个活动中使用Viewpager
实现了两个选项卡,然后在前一个活动中加载了另一个活动。当用户单击电话的后退按钮或活动的向上按钮时,我想返回先前选择的选项卡和第一个活动的片段。
到目前为止,我已经能够使用onSaveInstanceState
和以下代码为后退按钮执行此操作:
@Override
protected void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
bundle.putInt("currentPage", mViewPager.getCurrentItem());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null) {
int page = savedInstanceState.getInt("currentPage", 0);
mViewPager.setCurrentItem(page);
getSupportActionBar().setSelectedNavigationItem(page);
}
}
为什么这对按钮不起作用?我该怎么办?
如果这是一个容易解决的问题,那么任何帮助都会受到赞赏和抱歉,但我对Android编程很新。
答案 0 :(得分:1)
我终于在Returning from an activity using navigateUpFromSameTask()找到了解决方案。重新创建活动时,savedInstanceState为null。为避免这种情况,必须在Android清单中将活动的启动模式声明为singleTop。