自定义一个Application并实现ViewModelStoreOwner接口
这个ViewModel可以供全局使用,无论多少Activity都可以共享这个ViewModel的数据,利用LiveData来全局同步数据
public abstract class BaseApplication extends Application implements ViewModelStoreOwner {
public static Application application;
static ViewModelStore viewModelStore;
@Override
public void onCreate() {
super.onCreate();
application = this;
viewModelStore = new ViewModelStore();//创建一个ViewModelStore
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
}
@NonNull
@Override
public ViewModelStore getViewModelStore() {
return viewModelStore;
}
}
下面这个是自定义的ViewModel
public class DemoViewModel extends ViewModel {
MutableLiveData<User> userMutableLiveData;
public LiveData<User> getUsers() {
if (userMutableLiveData == null) {
u