为什么 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)
方法。这解决了问题。
我的代码:
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)
方法。这解决了问题。