首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >活动中的后退按钮,而不重新创建以前的活动(Android)

问活动中的后退按钮,而不重新创建以前的活动(Android)
EN

Stack Overflow用户
提问于 2014-10-17 23:45:26
回答 2查看 2.7K关注 0票数 3

我有一个主要活动,那就是菜单(A)。活性A有6个片段。其中一个是图片库(图1)。当您触摸图片时,您将进入图片细节活动(B) (图2)。我将标签"parentName“添加到AndroidManifest.xml中的活动B中。因此,活动B的父级是活动A。问题是:当您在活动B中并按下向上按钮(图2)时,将重新创建活动A,它将显示活动A的第一个片段(而不是画廊片段)。当您回到之前的活动时,我希望Instragram应用程序具有相同的行为。似乎Instagram应用程序没有重新创建之前的活动。预期的行为也类似于back按钮的行为(图3)。我怎样才能达到这种行为呢?谢谢

​

图1.图片详细信息活动

​

图2.图片详细信息活动

​

图3.后退按钮

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-19 18:00:15

我很容易就解决了我的问题。我只需将标记android:launchMode="singleTop"添加到活动A中。我还在活动A中添加了下一个代码,但可能没有必要。我希望你发现它有用。

代码语言:javascript
复制
@Override
protected void onSaveInstanceState(Bundle outState)
{
    super.onSaveInstanceState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
    super.onRestoreInstanceState(savedInstanceState);
}
票数 6
EN

Stack Overflow用户

发布于 2014-10-18 05:33:35

可能是以编程方式使用的:

代码语言:javascript
复制
getFragmentManager().beginTransaction().replace(R.id.content_frame, new FragmentB(),null).addToBackStack(null).commit();

将其改为以下一行:

代码语言:javascript
复制
getFragmentManager().beginTransaction().add(R.id.content_frame, fragment,null).addToBackStack(null).commit();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26434896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档