Size: a a a

StartAndroid Ru Kotlin

2020 July 29

I

Ivan in StartAndroid Ru Kotlin
Roman
Привет. Подскажите пожалуйста кто нибудь, можно ли и как такой код из жавы на котлин переписать.
Привет , какой ?
источник

R

Roman in StartAndroid Ru Kotlin
Картинка с чата удаляется, здесь какие то правила по посту изображений?
источник

V

Vladushka in StartAndroid Ru Kotlin
Roman
Привет. Подскажите пожалуйста кто нибудь, можно ли и как такой код из жавы на котлин переписать.
Когда вставляешь код на джаве в проект с котлином, то студия автоматически предлагает переконвертировать код
источник

I

Ivan in StartAndroid Ru Kotlin
Vladushka
Когда вставляешь код на джаве в проект с котлином, то студия автоматически предлагает переконвертировать код
+++
источник

R

Roman in StartAndroid Ru Kotlin
Там не тривиальный, с женериками
источник

R

Roman in StartAndroid Ru Kotlin
private <T extends Fragment & IView> T findFragment(){...}
   IView fragment = findFragment();
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
private fun <T> findFragment(): T where T : Fragment, T : IView {
   
TODO()
}
источник

R

Roman in StartAndroid Ru Kotlin
Вот эта часть больше интересует:   IView fragment = findFragment();
источник

V

Vladushka in StartAndroid Ru Kotlin
val fragment: IView = findFragment()
вроде так
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
Vladushka
val fragment: IView = findFragment()
вроде так
👍
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
или так
class SomeFragmentView : Fragment(), IView
val fragment: IView = findFragment<SomeFragmentView>()
источник

R

Roman in StartAndroid Ru Kotlin
В жаве он так работает, в котлине не компилит, пишет что тип ссылки IView не отвечает всем описаным ограничениям, типа  IView is not subtype of Fragment.
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
class SomeFragmentView : Fragment(), IView
val fragment: IView = findFragment<SomeFragmentView>()
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
для твоего жденерика не хватает информации
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
так как в треугольных скобках ты не указываешь тип - он его пытается определить из левой части выражения, и все бы ничего, но твой IView не соответствует всем требованиям
источник

R

Roman in StartAndroid Ru Kotlin
у меня несколько реализаций тех фрагментов, и соответственно SomeFragmentView не могу вписать. Выходит на котлине так не возможно сделать?
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
источник

R

Roman in StartAndroid Ru Kotlin
Спасибо. Но выходит без дополнительных абстрактных классов того же функционала невозможно добиться?
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
Разве что так. Но я не вижу смысла в дженерике если ты все равно не передаешь или не указываешь тип
источник

YR

Yevhen Railian in StartAndroid Ru Kotlin
источник