Android:何时使用隐藏/显示或添加/删除/替换?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (9)

假设我希望在另一个容器视图中替换当前片段:

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.replace(R.id.fragment_container, newFragment, null);
    ft.commit();

...或以下显示和隐藏:

    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    ft.hide(oldFragment);
    ft.show(newFragment);
    ft.commit();
提问于
用户回答回答于

你应该考虑您打算如何处理这个片段,以决定遵循哪条路径。如果使用FragmentTransaction来隐藏片段,那么它仍然处于其生命周期的运行状态,但其UI已从窗口中分离出来,因此不再可见。所以你可以在技术上仍然与片段进行交互,然后在需要时重新附加其UI。如果你替换了这个片段,你实际上将它从容器中拉出来,并且它会经历生命周期中所有的拆卸事件(onPause,onStop等),如果由于某种原因你需要再次使用这个片段,你将不得不将它插回到容器中并让它再次运行所有的初始化。

用户回答回答于

如果你想替换使用,replace()你想临时隐藏它然后做hide()

扫码关注云+社区