当我在Android Studio项目的视图模型中添加MutableLiveData对象时,出现编译编译错误。我还没有在任何地方调用getUser()或setUser(),而是将完全相同的对象添加到项目中的其他视图模型中,并且没有收到错误,所以我不确定是什么问题。>
错误:
error: Parceler: Unable to find read/write generator for type androidx.lifecycle.MutableLiveData<com.example.demometvtest1.User> for com.example.demometvtest1.RegisterViewModel.user
RegisterViewModel.java:
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
@Parcel
public class RegisterViewModel extends ViewModel {
public MutableLiveData<User> user = new MutableLiveData<>();
public void setUser(String user) {
return user;
}
public MutableLiveData<User> getUser() {
this.user.setValue(user);
}
}
答案 0 :(得分:0)
问题是注释@Parcel
:您正在尝试automatic生成writeToParcel()
和createFromParcel()
,并且注释处理器找不到MutabileLiveData的读/写实现。 (这是不可包裹的)。
删除注释,使类实现可包裹的接口,并在需要时使自己实现可包裹的方法writeToParcel()
和createFromParcel()
或仅删除注释。