我们都知道Android ViewModel的生命周期不随Activity的生命周期而改变,因此我们切换横竖屏的时候,数据也不会被清空掉,我们存储在ViewModel对象里面的数据,有时候需要在另外一个Activity或者Fragment里面获取到,就需要做到在不同的Activity获取同一个Android ViewModel对象,这样才能拿到同一个值。
如何做到在不同的Activity或者不同的Fragment中获取到同一个ViewModel的对象呢?
1:我们先来定义一个MyViewModel对象,代码如下:public class MyViewModel extends AndroidViewModel {
private int shareValue = 0;
public MyViewModel(@NonNull Application application) {
super(application);
}
}
2:在Activity里面创建MyViewModel对象,并设置shareValue的值,代码如下:public class MainActivity extends AppCompatActivity {
private int number_one = 0;
private MyViewModel myViewModel;
public static MainActivity mainActivity = null;
@Override
protected void onCreate(Bundle savedInstanceState) {