升级编译SDK
版本26后,所有findViewById
显示错误:
not enough information to infer parameter T in fun findViewById(id: Int): T!
最佳答案
这是因为从 Android O 开始,我们不需要强制转换它。有几个选项。替换:
val textInput = findViewById(R.id.edit_text) as TextInputLayout
任一个:
val textInput:TextInputLayout = findViewById(R.id.edit_text)
或者:
val textInput = findViewById<TextInputLayout>(R.id.edit_text)
如果你想知道幕后发生了什么,从O底层方法改为
public <T extends View> T findViewById(@IdRes int id) {
return this.getDelegate().findViewById(id);
}
关于android - 升级到编译 sdk 版本后 findViewById 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44461571/