Android 我可以推断委托中属性的类型吗?

Android 我可以推断委托中属性的类型吗?,android,android-layout,generics,delegates,kotlin,Android,Android Layout,Generics,Delegates,Kotlin,我有这个密码。它将findViewById与一个委托 val backgroundImage: ImageView by lazy { view<ImageView>(R.id.item_component_section_background) } fun <T: View> view(id : Int) : T { val view : View = findViewById(id) ?: throw IllegalArgumentException("Gi

我有这个密码。它将
findViewById
与一个委托

val backgroundImage: ImageView by lazy { view<ImageView>(R.id.item_component_section_background) }

fun <T: View> view(id : Int) : T {
    val view : View = findViewById(id) ?: throw IllegalArgumentException("Given ID could not be found in current layout!")

    @Suppress("UNCHECKED_CAST")
    return view as T
}
val backgroundImage:ImageView by lazy{view(R.id.item_component_section_background)}
趣味视图(id:Int):T{
val view:view=findViewById(id)?:抛出IllegalArgumentException(“在当前布局中找不到给定id!”)
@抑制(“未选中的_CAST”)
返回视图为T
}
对于惰性块中类似于
视图
的内容,是否有任何方法可以删除
视图
?我可以在函数
view()
中获取或推断属性的类型吗?

您可以

val backgroundImage by lazy { view<ImageView>(R.id.imageView) }
val backgroundImage by lazy{view(R.id.imageView)}

val backgroundImage by lazy{view(R.id.imageView)}

请注意,在这两种情况下,
backgroundImage
的类型都是从右侧表达式类型推断出来的。

这不是我所想的,而是我想要的结果!这样,我就不必写两次了。
val backgroundImage by lazy<ImageView> { view(R.id.imageView) }