kotlin findviewbyid报错: type inference failed: Not enough information to infer parameter T in...

今天在使用kotlin加Android API26进行开发的时候,突然发现findviewbyid竟然报错了

这里写图片描述

点击进去看findViewById的实现,发现

这里写图片描述

findViewById ,其返回类型是 t extends View ,这是一个泛型的声明,具体类型则是根据所赋值的变量类型来确定的。等号的左右两边互相依赖,互相还都没有指明,所以报错了

所以我们只有在申明变量的时候就表明其类型或者利用泛型

  • way1:
val listView = contentView.findViewById(resId)
  • way2:
val listView: ListView = contentView.findViewById(resId)

你可能感兴趣的:(Android)