必需:“ android.arch.lifecycle.LifecycleOwner错误

时间:2018-11-29 20:24:54

标签: android android-room

我想创建一个实用程序类来管理我的Room数据库。使用实时数据,我可以观察数据库中的更改,但是,只能将该观察者放在Activity类中。我想确认确实如此。我尝试使用上下文和活动作为边界。

我还添加了以下库来进行升级

library(stringr)
str_count(paste(example_data, collapse=""), '456')
#[1] 4

这是我如何使用观察者的示例

implementation "android.arch.lifecycle:extensions:1.1.1"

这在Activity中工作正常,但是移到了不会扩展Activity的类中,我收到了错误消息:

第一个参数错误。找到...。必填:'android.arch.lifecycle.LifecycleOwner错误

1 个答案:

答案 0 :(得分:4)

这是因为LiveData.observeLifecycleOwner作为其第一个参数,而不是Context,并且活动也是LifecycleOwner

public class SupportActivity extends Activity implements LifecycleOwner {
    // Your activity may be a subclass of this activity.
}

因此,您可能希望将LifecycleOwner而不是Context传递给DatabaseUtil。或者,如果您不在乎生命周期,则可以使用LiveData.observeForever