質問
LiveData更新数据报错解决方法java.lang.IllegalStateException: Cannot invoke setValue on a background thread
解決
将setValue(T)改为postValue(T)即可。
理由
MutableLiveData は 2 つの関数 postValue と setValue を提供します
- setValue(T) はメインスレッドで呼び出す必要があります。
- postValue(T) はメインスレッドまたは子スレッドで呼び出すことができます。
public class MutableLiveData<T> extends LiveData<T> {
@Override
public void postValue(T value)
@Override
public void setValue(T value)
}