1. 程式人生 > >kotlin Android中 findViewById()不能推導型別的錯誤

kotlin Android中 findViewById()不能推導型別的錯誤

 var img= view.findViewById(R.id.image) as ImageView?

報錯:

Error:(80, 27) Type inference failed: Not enough information to infer parameter T in fun <T : View!> findViewById(p0: Int): T!
Please specify it explicitly.

原因:

  從 version 26 開始,com.android.support:appcompat-v7 中的 findViewById 方法的返回值從 View 改成了 。等號的左右兩邊互相依賴。
  
解決方法:

 var img: ImageView? = view.findViewById(R.id.image)

 或者
var img = view.findViewById<ImageView>(R.id.image)

或者
var img: ImageView? = view.findViewById<ImageView>(R.id.image)