У меня есть общее настраиваемое представление, например
class MyGenericCustomView<T>(context: Context, attrs: AttributeSet) : AnotherView(context, attrs) {
...
}
. В XML-коде действия / фрагмента у меня есть:
<package.name.MyGenericCustomView
android:id="@+id/custom_id"
....
/>
Если я использую старый способ, я могу напечатать свой «напечатанный»"пользовательский вид, использующий что-то вроде:
override fun onCreate(...) {
...
val myCustomView = findViewById<MyGenericCustomView<String>>(R.id.custom_id)
...
}
Но если я использую расширение Android Kotlin (синтетическое), чтобы получить объект с таким же идентификатором, у меня не будет способа передать тип Generic, поэтому
//custom_id is of type MyGenericCustomView<*>
Одним из решений является создание определенного класса, например
class MySpecificCustomView(context: Context, attrs: AttributeSet) : MyGenericCustomView<String>(context, attrs) {
....
}
Но я не хочу создавать этот шаблонный класс.Есть ли какое-либо решение для указания пользовательского типа только с использованием расширений Kotlin?
Спасибо