打包程序:在Android ViewModel中找不到类型为MutableLiveData <user>的读/写生成器

时间:2019-05-16 15:57:38

标签: android viewmodel build-error parcel mutablelivedata

当我在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);
    }
}

1 个答案:

答案 0 :(得分:0)

问题是注释@Parcel:您正在尝试automatic生成writeToParcel()createFromParcel(),并且注释处理器找不到MutabileLiveData的读/写实现。 (这是不可包裹的)。 删除注释,使类实现可包裹的接口,并在需要时使自己实现可包裹的方法writeToParcel()createFromParcel()或仅删除注释。