gpt4 book ai didi

android - 对话框 fragment 在屏幕旋转后延迟绘制

转载 作者:行者123 更新时间:2023-11-30 01:33:13 25 4
gpt4 key购买 nike

我有一个 DialogFragment,假设 A 启动另一个 DialogFragment,假设 B 使用 FragmentManager。当我旋转屏幕时,有时 B 会躲在 A 后面。现在这种情况下,我看不到 B,如果我关闭 A,B 会导致崩溃。这并不总是发生。我已经能够重现它几次。


问题:

  1. 为什么会发生这种情况?
  2. 有什么办法可以避免这种情况?

最佳答案

为什么?


当屏幕旋转时, Activity 重新创建,但 DialogFragment 的实例未保存,因此当您调用 dismiss(); 时,您会得到一个 NullPointerException 因为你在一个空对象上调用了 dismiss();

如何避免


当您调用 dismiss() 时,使用您在调用 show(getSupportFragmentManager, TAG); 时使用的 **TAG* 执行 findFragmentByTag(TAG ); 最后,如果显示了,则调用 dismiss();

这是我根据您提供的信息得出的想法...

关于android - 对话框 fragment 在屏幕旋转后延迟绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35493874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com