Reputation: 1028
Can someone explain, please, why i can't do the code below from Java in Kotlin?
Java:
public static <T extends ViewGroup> void doSomething(T viewGroup) {
T.LayoutParams params = viewGroup.getLayoutParams();
}
Kotlin:
fun <T : ViewGroup> doSomething(viewGroup: T) {
val params : T.LayoutParams = viewGroup.layoutParams
}
or
fun <T : ViewGroup> T.doSomething() {
val params : T.LayoutParams = this.layoutParams
}
Kotlin just doesn't see LayoutParams.
Upvotes: 1
Views: 557
Reputation: 1210
Have you tried?
fun <T : ViewGroup> doSomething(viewGroup: T) {
val params = viewGroup.layoutParams
}
EDIT: Well I tried it and you can't do that:
val params : T.LayoutParams = viewGroup.layoutParams
But you can do that:
val params: T = viewGroup
val par = viewGroup.layoutParams
Upvotes: 3