Kev*_*tel 2 generics android delegates android-layout 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("Given ID could not be found in current layout!")
@Suppress("UNCHECKED_CAST")
return view as T
}
Run Code Online (Sandbox Code Playgroud)
有没有办法删除view<ImageView>
像view
懒惰块中的东西?我可以在函数中获取或推断属性的类型view()
吗?
你可以有
val backgroundImage by lazy { view<ImageView>(R.id.imageView) }
Run Code Online (Sandbox Code Playgroud)
要么
val backgroundImage by lazy<ImageView> { view(R.id.imageView) }
Run Code Online (Sandbox Code Playgroud)
请注意,在这两种情况下,backgroundImage
从右侧表达式类型推断出类型.
归档时间: |
|
查看次数: |
72 次 |
最近记录: |