android – findViewById中的Strange ClassCastException

android – findViewById中的Strange ClassCastException,第1张

概述我观察到一个奇怪的例外: viewPager = (ViewPager) view.findViewById(R.id.pager); 例外情况如下: java.lang.ClassCastException: android.support.v4.view.ViewPager cannot be cast to android.support.v4.view.ViewPager 我不能重现它,但 我观察到一个奇怪的例外:

vIEwPager = (VIEwPager) vIEw.findVIEwByID(R.ID.pager);

例外情况如下:

java.lang.classCastException: androID.support.v4.vIEw.VIEwPager cannot be cast to androID.support.v4.vIEw.VIEwPager

我不能重现它,但它有时根据日志发生.

该应用程序使用官方multIDex构建与gradle.

解决方法 根据JLS,当您尝试将一个类强制转换为另一个类时会发生ClassCastException,这是非常明显的.

什么是不明显的是类标识的定义:

>类必须是类,接口或数组类型,
>他们必须有相同的二进制名称,
>它们必须由相同的有效ClassLoader加载

在您的情况下,多个ClassLoader很可能会加载相同的类.

总结

以上是内存溢出为你收集整理的android – findViewById中的Strange ClassCastException全部内容,希望文章能够帮你解决android – findViewById中的Strange ClassCastException所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125440.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存