Дженерики и абстрактный класс в Котлине
У меня есть базовый абстрактный класс:
abstract class BaseFragment<T : BasePresenter> : Fragment(){ protected var presenter : T? = null abstract fun providePresenter() : T abstract fun getLayoutId() : Int abstract fun onCreate() override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val root = inflater?.inflate(getLayoutId(), container, false) presenter = providePresenter() return root } override fun onViewCreated(view: View?, savedInstanceState: Bundle?) { onCreate() } }
Мой код в JAVA:
//JAVA private ArrayList<BaseFragment> fragments;
Как я могу использовать его Котлин? Следующий код не работает
- recyclerview onClick getkey из firebase
- Single.defer () не выполнен
- Выбранный в настоящее время отладчик Java не поддерживает точки останова типа «Точки останова линии Котлин»,
- Цепочка Наблюдения, чтобы избежать нескольких подписок
- Как сделать сумму элементов для нескольких списков в kotlin
//Kotlin val tabs = ArrayList<BaseFragment>() //error: One type argument expected for class BaseFragment<T : BasePresenter> : Fragment
- Как создать синтаксис Kotlin DSL - DSL Kotlin
- Использование функции чтения AudioRecord в Kotlin не соответствует аргументам типов платформ
- Как я могу использовать runblocking при нажатии кнопки
- Я получаю ошибку «Тип несоответствия», когда я использую функцию в качестве параметра в Kotlin?
- android studio 3.0.1 и kotlin v1.2.10-release-Studio3.0-1 получили проблемы
- как сделать модифицированный класс POJO для этого Json
- Фильтр rxjava не работает
- В Котлине как открыть ссылку в новом окне
Вам нужно указать тип для вашего T
val tabs = ArrayList<BaseFragment<SomePresenterType>>()