【问题标题】:ShadowViewTreeObserver missing in Robolectric 3.1Robolectric 3.1 中缺少 ShadowViewTreeObserver
【发布时间】:2016-08-01 11:12:10
【问题描述】:

Robolectric 3.0 提供了 ShadowViewTreeObserver 类,但在 Robolectric 3.1 中缺少它。

官方升级指南 (https://github.com/robolectric/robolectric/wiki/3.0-to-3.1-Upgrade-Guide) 讲述了由于 Android API 功能重复而删除了影子方法,但其中未提及 ShadowViewTreeObserver

这堂课怎么了?在 3.1 中是否应该使用 ViewTreeObserver 的 Android API 方法来代替这个特殊的影子?

【问题讨论】:

  • 你是怎么用的?
  • 我现在没用,只是了解了一下,想试试,发现3.1中没有。我对向所有侦听器触发 OnGlobalLayout 事件很感兴趣,但由于常规 ViewTreeObserver 可以做同样的事情,我想知道 ShadowViewTreeObserver 是否被简单地删除(升级指南没有提及),或者它的功能被移到另一个类

标签: android android-studio junit robolectric android-testing


【解决方案1】:

是的,在 Robolectric 3.1.x 中不再有 ShadowViewTreeObserver 类,检查:Overview

此更改的原因在此merge 请求中进行了说明 Deleting ShadowViewTreeObserver as it reimplements what the real class does. #2308,它只有一个名为

的提交

如您所见,您的问题的答案将在提交中: https://github.com/robolectric/robolectric/pull/2308/commits/e10bddd18ebb3df14423d3743e11772e4fd76e49.

您可能会感兴趣的是,它只有一个提交,其名称为解决方案,因为它被称为 Deleting ShadowViewTreeObserver. Please use the real class moving forward

讲述了由于 Android API 功能的重复而删除了影子方法,但其中没有提到 ShadowViewTreeObserver

他们似乎忘记更新他们的文档了 ;-)

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2015-03-05
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2020-07-26
    • 2020-07-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    相关资源
    最近更新 更多