【问题标题】:Activity recreate issue in Android Nougat Only?仅 Android Nougat 中的活动重新创建问题?
【发布时间】:2017-07-18 09:02:50
【问题描述】:

我开发了一个小项目,其中在一个活动中添加了三个片段。 我只在牛轧糖中遇到问题,即 启动应用程序并从片段 1 -> 片段 2 开始,在片段 2 中,此按钮上有一个按钮单击打开外部浏览器,当按下返回按钮时,活动重新加载并从片段 1 开始。

在 Nougat 的以下版本中,它运行良好,它返回到片段 2,但在 Nougat(Samsung Galaxy s8+)中,它的活动重新加载并从片段 1 开始。

所以请帮我解决这个问题。 谢谢

【问题讨论】:

  • 我想的一种可能的情况是:Don't keep activities activated + 片段处理不正确。您可以在开发者工具中查看Don't keep activities 是否已开启?
  • 我可以分享我的代码。我正在像这样的活动中添加片段 public void addHomeFragment() { HomeFragment homeFragment = new HomeFragment(); FragmentTransaction 事务 = getSupportFragmentManager().beginTransaction(); transaction.add(R.id.mFrame_container, homeFragment.newInstance(), HomeFragment.TAG) .addToBackStack(HomeFragment.TAG) .commit(); }
  • 您能否也检查一下该选项是否已启用?您可以在以下位置找到它:设置 -> 开发人员选项 -> 不保留活动
  • 如果我从 Activity 1 -> Activity 2 重定向并从 Activity 2 在单击按钮上打开外部浏览器并按下返回按钮而不是 Activity 1 重新加载,则会出现相同的问题。
  • 好的,我会检查

标签: android android-7.0-nougat


【解决方案1】:

首先检查您在onResume 中的代码,如果您要重新加载ViewPager 或设置currentItem

其他原因可以是Don't keep activities activated。您可以检查开发人员工具以查看“不保留活动”是否已打开? 你可以从Device settings查看如下:

设置 -> 开发者选项 -> 不保留活动

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多