Parceler: невозможно найти генератор чтения / записи для типа MutableLiveData <User>в Android ViewModel - PullRequest
0 голосов
/ 16 мая 2019

Я получаю ошибку компиляции при добавлении объекта MutableLiveData в модель представления в моем проекте Android Studio. Я еще нигде не вызываю 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 голосов
/ 16 мая 2019

Проблема в аннотации @Parcel: вы пытаетесь автоматически сгенерировать writeToParcel() & createFromParcel(), а процессор аннотаций не находит реализацию чтения / записи для MutabileLiveData (что это не так parcelable). Удалите аннотацию, сделайте так, чтобы класс реализовал интерфейс для посылки, и сделайте вашу собственную реализацию распределяемых методов writeToParcel() & createFromParcel(), если вам это нужно, или просто удалите аннотацию.

...