今天在使用kotlin加Android API26进行开发的时候,突然发现findviewbyid竟然报错了
点击进去看findViewById的实现,发现
findViewById ,其返回类型是 t extends View ,这是一个泛型的声明,具体类型则是根据所赋值的变量类型来确定的。等号的左右两边互相依赖,互相还都没有指明,所以报错了
所以我们只有在申明变量的时候就表明其类型或者利用泛型
- way1:
val listView = contentView.findViewById<ListView>(resId)
- way2:
val listView: ListView = contentView.findViewById(resId)