android - 尝试在空对象引用上调用虚拟方法 'void android.arch.lifecycle.MutableLiveData.setValue(java.lang.Object)'

标签 android android-livedata

我使用 Android 架构组件并尝试实例化 viewmodel 并从 LiveData 观察数据。但是我收到以下错误:

ActivationFragment.clas:

@OnClick(R.id.btn_activation)
public void onEvaluateClick(Button v) {
    maActivationCode = etActivation.getText().toString();
    mActiationViewModel.getsatusCode(maActivationCode).observe(this, new Observer<Boolean>() {
        @Override
        public void onChanged(@Nullable Boolean aBoolean) {
        } 
    });
}

ActivationViewModel 类:

public class ActivationViewModel  extends ViewModel{

public ActivationRepository activationRepository;

public ActivationViewModel(ActivationRepository activationRepository) {
    this.activationRepository = activationRepository;
}

public LiveData<Boolean> getsatusCode(String activationCode) {
    return (LiveData<Boolean>)  activationRepository.getStatusCode(activationCode);
}

ActivationRepository 类:

public class ActivationRepository {

public MutableLiveData<Boolean> status;

public MutableLiveData<Boolean> getStatusCode(String activationCode) {
    status.setValue(Boolean.valueOf(false));
    return status;
}

最佳答案

像这样更新你的函数..

public class ActivationRepository {

public MutableLiveData<Boolean> status = new MutableLiveData<>();

 public MutableLiveData<Boolean> getStatusCode(String activationCode) {
    status.postValue(Boolean.valueOf(false));
    return status;
}

关于android - 尝试在空对象引用上调用虚拟方法 'void android.arch.lifecycle.MutableLiveData.setValue(java.lang.Object)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48901575/

相关文章:

android - 如何禁用 Google map 上的交通图层?

android - android中的Mapapi v2导致 fragment 错误

android - 我们可以在不损失任何值(value)的情况下使用 LiveData 吗?

java - 如何结合Retrofit和LocalDB请求并将结果提供给MVVM中的RecyclerView?

android - 如何在 Android Studio 上创建 jniLibs 文件夹?

android - 将页脚 View 添加到 Android 中的多列 GridView?

Android 设置 ListView 项目在有 ImageButton 时可点击

kotlin - 处理删除/添加实时数据观察器以在按钮单击时观察

android - 为什么 LiveData 还要通知处于 onPause 状态的 Activity?

android - Android 中的 LiveDataScope 与 ViewModelScope