Могу ли я указать тип свойства в делегате?

У меня есть этот код. Он 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 } 

Есть ли способ удалить view<ImageView> для чего-то вроде view в ленивом блоке? Могу ли я получить или сделать вывод о типе свойства в представлении функции view() ?

Вы можете иметь

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

или

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

Обратите внимание, что в обоих случаях тип backgroundImage выводится из типа выражения правой стороны.

Intereting Posts
RuntimeException, если minifyEnabled истинно с классом ViewModel Как вводить нестатические, по требованию NativeModules в React Native Android? Почему метод ByteBuffer putShort (значение) работает неправильно в моем случае? запустить HelloAndroid от градиента? Почему не переупорядочивает код в файлах Kotlin в Intellij? Размер RealmResults возвращается Zero Как правильно реализовать lateinit с пользовательскими объектами класса для использования в onCreate () в android, избегая ошибки Property getter или setter expected Kotlin JS Переопределение «внешней» функции с необязательными параметрами eclipse организует импорт, не работающий с файлами kotlin Как настроить версию кода байта Kotlin в проекте Gradle на Java 8? Когда следует предпочесть функции расширения Котлина? Как создать вершину с завода в VertX? Android / Kotlin: неразрешенные ссылки: древесина Котлин не работает над Android Studio Android: Тип MenuPopup недоступен в этом контексте из-за: MenuPopup