ActivityTransition:OnActivityReenter:从未调用onPreDraw

时间:2015-09-01 20:43:53

标签: android android-transitions

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

我推迟了onActivityReenter的回复过渡。但问题是,如果我在手机设置中选中“不要保留活动”,那么应用程序大部分时间都会挂起并显示彼此之间的活动。

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

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

1 个答案:

答案 0 :(得分:2)

我一直在遇到同样的问题。只有在特定情况下,即使这样,也不是100%的时间。

添加侦听器后再次请求布局适合我。

   if (args.length > 0) {
       File f = new File(args[0]);
       start_the_application_with_a_file(f);
   } else {
       start_the_application_without_a_file();
   }

我很确定这表明Android中存在某个错误,但我无法创建可靠的测试用例。不知何故,它正在跳过部分布局传递,因此监听器不会被调用。调用myView.getViewTreeObserver().addOnPreDrawListener(<snip>); myView.requestLayout(); //Force a layout pass 会强制完成布局传递。