1.使用DataBinding在build.gradle中添加
android {
...
...
...
dataBinding {
enabled true
}
}
2.创建一个类继承AndroidViewModel,并创建构造方法
public class MainViewModelLiveData extends AndroidViewModel {
private SavedStateHandle mSavedStateHandle;
private static final String KEY = "key";
private static final String NUM = "num";
public MainViewModelLiveData(@NonNull Application application, SavedStateHandle savedStateHandle) {
super(application);
mSavedStateHandle = savedStateHandle;
if (!mSavedStateHandle.contains(KEY)) {
load();
}
}
public MutableLiveData<Integer> getNum() {
return mSavedStateHandle.getLiveData(KEY);
}
public void load() {
SharedPreferences sharedPreferences = getApplication().getSharedPreferences(NUM, Context.MODE_PRIVATE);
int i = sharedPreferences.getInt(KEY, 0);
mSavedStateHandle.set(KEY, i