【问题标题】:Previous fragment is restarting when we go back to previous fragment using backstack in android当我们在android中使用backstack返回上一个片段时,上一个片段正在重新启动
【发布时间】:2020-11-17 11:03:31
【问题描述】:

假设我们有两个片段,我们在第二个片段中,然后如果有人按下后退按钮,那么我们使用 backstack 成功返回到前一个片段(即第一个片段),但问题是前一个片段正在重新启动所有内容。当我们按下返回按钮时,我想显示前一个片段的内容,而不需要重新启动或初始化。提前致谢。

【问题讨论】:

  • 我想你用的是替换而不是添加,看看这个stackoverflow.com/a/18634392/6429241
  • 好的,我会试试的
  • 我认为你是对的。谢谢
  • 但是当我们使用 add 时,所有片段都会重叠。
  • 将此添加到您的片段 xml android:background="@color/colorWhite" android:clickable="true"

标签: java android android-fragments fragment fragmentmanager


【解决方案1】:

欢迎来到 Android 片段生活!!

正如@Uuu Uuu 所建议的,您需要在添加片段时使用add() 方法。由于每次都添加了一个新片段,因此您将片段重叠。

您只需检查片段是否已经存在,则无需添加新片段。您可以在添加片段时分配一个“标签”。代码如下-

if (fragmentManager.findFragmentByTag("First Fragment") == null)
         fragmentManager.beginTransaction().add(R.id.fragment, new FirstFragment(), "First Fragment").commit();

如果你是android开发新手,请了解fragment/activity生命周期,有一篇精彩文章By Jose Alcérreca

我希望这会有所帮助,祝你编码愉快。

【讨论】:

  • 实际上添加背景颜色对我有用。但是感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多