我跟随ViewModel example given here。当我尝试编译类似“ViewModel将:”的代码时,即:
public final LiveData<User> userLiveData = new LiveData<>();
我收到错误:
Error:(7, 52) error: LiveData is abstract; cannot be instantiated
这并不奇怪,因为LiveData确实是抽象的。
所以,我不明白他们提供的示例代码。它错了吗?或者有一个隐含的,“不,当然你不会这样做,你将继承LiveData的子类”,在这种情况下,它只是非常误导?根据您在搜索错误文本时得到的50k google hits,我不是第一个对此感到困惑的人。
答案 0 :(得分:2)
我不理解他们提供的示例代码。它错了吗?或者是否有暗示,&#34;不,当然你不会这样做,你将继续将LiveData&#34;作为子类,在这种情况下,它只是非常误导?
&#34;或&#34 ;?我会使用&#34;和&#34; - 这是错误的,并且暗示这应该是LiveData
的某些子类。
FWIW,我刚刚提交了an issue来解决这个问题。