【发布时间】:2014-10-20 23:28:37
【问题描述】:
我有两个活动,活动 A 和活动 B。现在活动 A 有 3 个Fragments,其中一个启动活动 B。当我按下操作栏按钮时,它返回到活动 A,但显示默认的 Fragment。我正在使用navUtils.navigateupFromSameTask 回到以前的Activity。
如何让用户使用的最新Fragment 显示而不是用户第一次启动应用程序时显示的默认值?例如,当应用程序启动时,它会显示Fragment 一个。当用户转到Fragment 2 并从中启动活动 B 时,我想返回上一个显示片段 2 的活动
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
在我的 onCreate 方法中
if (savedInstanceState == null) {
fragmentManager = getFragmentManager();
fragment = new RadioSound();
selectItem(0);
}
然后selectItem:
private void selectItem(int position) {
// update the main content by replacing fragments
activeFrag = position;
if(position == 0){
fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit();
}
else if(position == 1){
if(conv == null)
conv = new Conversations();
fragmentManager.beginTransaction().replace(R.id.content_frame, conv).commit();
} else{
fragmentManager.beginTransaction().replace(R.id.content_frame, (new Preferences())).commit();
}
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
setTitle(fragments[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
【问题讨论】:
-
如何在 Activity A 中添加片段?通常androids片段管理器将处理恢复最后显示的片段。
-
@AndroidGuy 抱歉回复晚了,但我的互联网连接中断了一段时间。添加了添加片段的代码
-
@NehaShukla:嗨,我注意到您在编辑帖子时一直在添加内联代码跨度 (
like this);这些仅适用于句子中的实际代码。此外,请确保在帖子中尽可能多地解决您可以找到的问题——诸如“提前致谢”和“请帮助”之类的内容不是必需的。谢谢!