再使用viewBinding 的时候报出下面这个异常
java.lang.NoSuchMethodError: No interface method getTypeName()Ljava/lang/Str
代码是这样
Type[] types = ((ParameterizedType) type).getActualTypeArguments();
for (Type type1 : types)
{
// String s = type1.toString();
// Log.e(“反射打印”,s);
if (type1.getTypeName()
.endsWith(“Binding”))
{
Method method = ((Class) type1).getMethod(“inflate”,
LayoutInflater.class);
return (VB) method.invoke(null, layoutInflater);
}
}
查了很多博客说是jdk版本的问题,我的jdk也没有问题,是1.8的
更具报错信息说是这个getTypeName()的方法没有找到,那我又为什么可以点出来这个方法呢,
有点想不明白。
但是通过日志输出看到 type1.toString();拿到的其实就是我们想要获取到的;
所以吧getTypeName()换成type1.toString()就可以了,算是一波曲线救国。。。。。。。
如果大家知道这个问题,请留言解释一波,十分感谢,
如果着急需要解决这个bug的同学,可以试试我的方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)