文档意味着你可以实例化LiveData,但你可以,因为它是抽象的



我遵循这里给出的ViewModel示例。 当我尝试编译类似"ViewModel 将是:"的代码时,即:

public final LiveData<User> userLiveData = new LiveData<>();

我收到错误:

Error:(7, 52) error: LiveData is abstract; cannot be instantiated

这并不奇怪,因为LiveData确实是抽象的。

所以,我不明白他们给出的示例代码。 就是错了? 或者是否有一个暗示,"不,你当然不会这样做,你要对LiveData进行子类化",在这种情况下,它只是非常误导? 根据您在搜索该错误文本时获得的 50k 谷歌点击量,我不是第一个对此感到困惑的人。

注:相关问题

我不明白他们给出的示例代码。就是错了?或者是否有一个暗示,"不,你当然不会这样做,你要对LiveData进行子类化",在这种情况下,它只是非常误导?

"或者"?我会使用"和"——这是错误的,并且暗示这应该是LiveData的某个子类。

FWIW,我刚刚提出了一个问题来解决这个问题。

最新更新