【发布时间】:2021-10-22 15:55:41
【问题描述】:
我正在尝试使用带有 AppWidgetProvider 的演示者。
我有一个实例变量如下
private latelinit var presenter: Presenter
然后在onEnabled 中,我设置了演示者。然后在onUpdate 内部,我正在使用演示者。
override fun onEnabled(context: Context?) {
Log.d("DEBUG", "Inside onEnabled")
setPresenter(Presenter(this))
super.onEnabled(context)
}
override fun onUpdate(
context: Context,
appWidgetManager: AppWidgetManager,
appWidgetIds: IntArray
) {
Log.d("DEBUG", "Inside onUpdate")
presenter!!.onUpdate(context, appWidgetIds)
}
override fun setPresenter(presenter: Presenter) {
this.presenter = presenter
Log.d("DEBUG", "Inside onSetPresenter Presenter set")
}
根据日志,onEnabled 在 onUpdate 之前被调用,这是我所期望的。但是,当我在 onUpdate 中使用 Presenter 时,它会抱怨 Presenter 没有被初始化。
在 AppWidgetProvider 中设置 Presenter 的正确方法是什么?
【问题讨论】:
标签: android kotlin android-appwidget appwidgetprovider