Java 资源类和空参数
我有一个可变的实时数据:Java 资源类和空参数,java,android,mvvm,Java,Android,Mvvm,我有一个可变的实时数据: private MutableLiveData<Resource<LoginResponse>> loginRequestData = new MutableLiveData<>(); 正如您所猜测的,我正在使用这些实时数据进行网络请求。在网络请求之前,我希望通过以下行将其设置为加载模式: loginRequestData.setValue(Resource.loading(null)); 但我遇到以下编译器错误: 错误:找不到适
private MutableLiveData<Resource<LoginResponse>> loginRequestData = new MutableLiveData<>();
正如您所猜测的,我正在使用这些实时数据进行网络请求。在网络请求之前,我希望通过以下行将其设置为加载模式:
loginRequestData.setValue(Resource.loading(null));
但我遇到以下编译器错误:
错误:找不到适用于setValue(资源)方法的方法
LiveData.setValue(资源)不适用(参数
不匹配;无法将资源转换为
资源管理方法
MutableLiveData.setValue(资源)不适用
(参数不匹配;资源无法转换为
(资源)
为什么我不能为
资源传递null参数。加载方法?您定义的LiveData
需要资源的实例,而不是您提供的资源的实例。请尝试以下方法:
loginRequestData.setValue(Resource.loading(null));
这样,您就可以确保使用加载
方法加载的空资源
的类型是资源
看起来没有合适的构造函数
new Resource<>(Status.LOADING, data, null);
新资源(Status.LOADING,data,null);
检查数据
是否可以为空 你能检查一下吗,他使用的是同一个资源类和资源。加载(null)我的代码之间有什么区别?我不确定他们在本文中做了什么,但我不相信他们提供的所有代码都能像现在这样完美地构建和工作——可能有一些地方是错误的,这种情况经常发生。就你而言,我认为错误是显而易见的。我的解决方案对你有用吗?事实上,我刚刚意识到他们可能在用@Suppress(“UNCHECKED_CAST”)
进行“欺骗”(或者可能没有,但看起来很可疑)。那么,我的解决方案解决了问题吗?如果答案有效,请将其标记为有效。否我收到两个编译器错误:错误:找不到符号变量加载和错误:找不到符号变量登录响应
loginRequestData.setValue(Resource.loading(null));
new Resource<>(Status.LOADING, data, null);