내 LiveData를 관찰하는 viewModel 뷰가 있습니다. Repository에서 데이터를 가져옵니다 (Room 또는 WebAPI에서 데이터를 가져옵니다). 데이터를 더 깨끗하게 관리 할 수 있도록 NetworkBoundResource 추상 클래스를 구현했습니다. MediatorLiveData 객체는이 클래스에서 사용됩니다LiveData 'dispatchingValue'메서드에서 치명적인 예외 : 가상 메서드 없음 iteratorWithAdditions()
private final MediatorLiveData<Resource<ResultType>> result = new MediatorLiveData<>();
충돌이 내 생성자의 첫 번째 줄에서 발생합니다
java.lang.NoSuchMethodError: No virtual method iteratorWithAdditions()Landroid/arch/core/internal/SafeIterableMap$ListIterator; in class Landroid/arch/core/internal/SafeIterableMap; or its super classes (declaration of 'android.arch.core.internal.SafeIterableMap' appears in /data/app/com.example.smostofi.upswing-XxPvhI837wneIYVTOrU2Dw==/split_lib_dependencies_apk.apk:classes25.dex)
at android.arch.lifecycle.LiveData.dispatchingValue(LiveData.java:145)
at android.arch.lifecycle.LiveData.setValue(LiveData.java:293)
at android.arch.lifecycle.MutableLiveData.setValue(MutableLiveData.java:33)
at com.example.smostofi.upswing.data.Util.NetworkBoundResource.<init>(NetworkBoundResource.java:44)
처음 요청 : 여기
@MainThread
public NetworkBoundResource() {
result.setValue(Resource.<ResultType>loading(null));
final LiveData<ResultType> dbSource = loadFromDb();
result.addSource(dbSource, new Observer<ResultType>() {
@Override
public void onChanged(@Nullable ResultType newData) {
result.removeSource(dbSource);
if(shouldFetch(newData))
{
fetchFromNetwork(dbSource);
} else {
result.setValue(Resource.success(newData));
}
}
});
}
오류 메시지입니다 여기서 질문을하면, 충분한 정보를 제공했으면 좋겠다. 미리 감사드립니다.
어떤 해결책을 발견에
에서 수명주기 버전을 변경, 의존성 문제를 중복되지 않는 이유는 무엇입니까? 같은 문제에 직면 해있다. – iMDroid
아니요 : | 개인적으로 아직 어떤 해결책도 찾을 수 없었습니다. – ShokouhM
나는 그것이 yayy를 발견했다. .. 도움이되면 대답을 게시했다. – iMDroid