i want to use viewmodelproviders in anko component
i studied viewmodel documentation on google developer guide but this particular use case is not documented
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)
}
}
}
}
If I click on the button, there is an error saying
java.lang.IllegalStateException: Can't create ViewModelProvider for detached fragment
(It craps out at the line where I use ViewModelProviders(BroadcastCalendarFragment() in the click listener)