1.创建ViewModel
public class SingletonViewModel extends ViewModel {
private SingletonLiveData content;
public SingletonLiveData getContent() {
if (content == null) {
content = SingletonLiveData.getInstance();
}
return content;
}
public void setContent(SingletonLiveData content) {
this.content = content;
}
/**
* 改变
*/
public void changeContent(String text) {
content.setValue(text);
}
}
2.这里监听的是SingletonLiveData,这是一个单例对象,也是实现多页面监听同一个状态的关键所在。
public class SingletonLiveData extends LiveData<String> {
private SingletonLiveData() {
}
@Override
public void postValue(String value) {
super.postValue(value);
}
@Override
public void setValue(String value) {
super.setValue(value);
}
private static SingletonLiveData sInstance;
public static SingletonLiveData getInstance() {
if (sI

本文介绍了如何利用ViewModel中的SingletonLiveData实现多个活动页面监听并同步同一状态。通过创建ViewModel和使用单例模式,确保了不同页面间数据的一致性。详细步骤包括创建ViewModel和展示SingletonActivity与Singleton2Activity之间的状态共享效果。

940

被折叠的 条评论
为什么被折叠?



