я хочу использовать viewmodelproviders в компоненте anko
Я изучил документацию Viewmodel в руководстве разработчика Google, но этот конкретный вариант использования не задокументирован
class BroadcastCalendarFragment: Fragment()
{
lateinit var mBroadcastModel: BroadcastModel
override fun onCreateView(inflater: LayoutInflater, container:
ViewGroup?, savedInstanceState: Bundle?): View? {
return BroadcastCalendarUI<Fragment>().createView(AnkoContext.create(ctx, this))
}
}
class BroadcastCalendarUI<BroadcastCalendarFragment>(): AnkoComponent<BroadcastCalendarFragment>
{
lateinit var broadcastModel: BroadcastModel
override fun createView(ui: AnkoContext<BroadcastCalendarFragment>): View = with(ui) {
verticalLayout{
button.setOnclickListener{
broadcastModel = ViewModelProviders.of(BroadcastCalendarFragment()).get(BroadcastModel::class.java)
}
}
}
}
Если я нажимаю на кнопку, появляется сообщение об ошибке
java.lang.IllegalStateException: невозможно создать ViewModelProvider для отдельного фрагмента
(Вызывается в строке, где я использую ViewModelProviders (BroadcastCalendarFragment () в прослушивателе кликов)