gpt4 book ai didi

java - ViewRootImpl 不在 Android SDK 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:21:07 28 4
gpt4 key购买 nike

只是玩了一下(我确实知道 View.getRootView()),我手动地逐步上升到根甚至更远。

...
View tv=(View)mv.getParent();
View uv=(View)tv.getParent();
...

实际上,我曾以为我会遇到一个NullPointerException,但我却遇到了

03-18 13:07:45.554 13568 13568 E AndroidRuntime: java.lang.ClassCastException: android.view.ViewRootImpl cannot be cast to android.view.View

好的,很好,这看起来也很合理。

我还不知道 ViewRootImpl,所以我决定拿起这个话题并稍微调查一下。

但是,当我这样做的时候

ViewRootImpl wv=(View)vv.getParent();

我得到了(应得的)

[javac] /home/jagged/Downloads/android/motog/firsttry/src/tk/wellthen/main.java:285: cannot find symbol
[javac] symbol : class ViewRootImpl
[javac] location: class tk.wellthen.main
[javac] ViewRootImpl wv=(View)vv.getParent();
[javac] ^

来自编译器,但是,当我根据上面的 logcat 输出完全限定它时,我得到(几乎)相同的错误消息。 (我什至从 logcat 输出中复制粘贴它以避免拼写错误。)

在尝试import android.view.ViewRootImpl 时不用多说。出现相同的消息,只是针对另一行源代码。

此外,Google 似乎认为在整个 API 文档中仅用一个词提及它也没有用。我认为它主要用于内部,但如果你问我,那是没有理由的。

在 stackoverflow.com 上“ViewRootImpl”有 138 次点击(好吧,现在应该至少有 139 次),但在这个上下文中它们完全不相关(如果我没有遗漏某些东西的话)特别)。

我查看了一些其他网站,并找到了,例如 this source code ,但我怀疑将其伪造到 SDK 中以探索它是否有用?

有什么建议吗?提前致谢

最佳答案

ViewRootImpl is annotated with @hide .这从用于开发的 stub android.jar 中排除了类。该类存在于实际的运行时环境中。

另请参阅:What does @hide mean in the Android source code?

关于java - ViewRootImpl 不在 Android SDK 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22480966/

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