为什么 setter 方法不在 handleMessage 方法中设置值?

Why setter method not setting Value in handleMessage method?

我的代码:

private MutableLiveData<String> liveData = new MutableLiveData<>();

Handler mainHandler = new Handler(Looper.getMainLooper()){
@Override
public void handleMessage(Message msg){
String s = (String) msg.obj;
liveData.setValue(s);
}
}

但是当getLiveData()调用时,没有返回值。我检查了 s 的日志值,它有一个字符串值,我想设置它。但不在 liveData 中设置。为什么会这样?

我错过了 super.handleMessage(s) 方法。这解决了问题。