gpt4 book ai didi

android - Activity 转换 : OnActivityReenter: onPreDraw never called

转载 作者:行者123 更新时间:2023-11-29 00:08:03 25 4
gpt4 key购买 nike

我遇到了一个关于推迟过渡的非常奇怪的问题。

我在 onActivityReenter 中推迟了返回转换。但这里的问题是,如果我在手机设置中选中“不保留 Activity ”,应用程序大多数时候会挂起并显示两个 Activity 。

我发现在那种情况下 onActivityReenter 仍然会被调用。但是 onPreDraw 没有,它应该由 onPreDrawListener 调用并恢复推迟的过渡。所以我永远推迟过渡。

那里可能发生了什么?可以找到代码here .

最佳答案

我遇到了同样的问题。它仅在特定情况下出现,即使那样也不是 100% 的情况。

添加监听器后再次请求布局对我有用。

myView.getViewTreeObserver().addOnPreDrawListener(<snip>);
myView.requestLayout(); //Force a layout pass

我很确定这表示 Android 中某处存在错误,但我无法创建可靠的测试用例。不知何故,它跳过了布局过程的一部分,因此永远不会调用监听器。调用 requestLayout() 会强制执行完整的布局传递。

关于android - Activity 转换 : OnActivityReenter: onPreDraw never called,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32340565/

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