优化一下自定义的 LiveData,官方建议用单例模式,那就用单例模式呗
前面的类是MutableLiveData 这里直接用LiveData;
public class WelcomeLiveDate extends ViewModel {
Mylive instance = Mylive.getInstance();
public LiveData<Card> getCurrentName(){
return instance;
}
public void setNum(Card card){
card.setNum(900);//临时更换了参数
instance.post(card);//调用到Mylive的类的方法
}
}
class Mylive extends LiveData<Card> {
private static Mylive sInstance;
public static Mylive getInstance() {
if (sInstance == null) {
sInstance = new Mylive(); }
return sInstance;
}
private Mylive() { }
protected void post(Card value){
super.postValue(value);//依然还是调用super.post方法,不调用不更新
};
}
自动创建一个单例模式见:https://mp.csdn.net/postedit/83060123