美文网首页
AndroidX-Jetpack-ViewModel

AndroidX-Jetpack-ViewModel

作者: 飞奔吧牛牛 | 来源:发表于2020-11-20 16:33 被阅读0次

    ViewModel用于保存和界面相关的一些数据,当界面发生重建时,不会影响到数据。比如语言发生切换,横竖屏变化,都会引起页面的重建。

    第一步:自定义类继承ViewModel类
    将数据count放到ViewModel中

    import androidx.lifecycle.ViewModel;
    
    public class MyViewModel extends ViewModel {
        public int count = 1;
    }
    
    

    第二步:在页面中获取ViewModel

    mViewModel = new ViewModelProvider(this, new ViewModelProvider.NewInstanceFactory()).get(MyViewModel.class);
    

    第三步:改变ViewModel中的数据,并设置到界面上

    public void onClick(View v) {
        mViewModel.count++;
        tvResult.setText(String.valueOf(mViewModel.count));
    }
    

    当count被加到5时,切换语言,使Activity发生重建,而后再触发onClick方法,发现count从5变为6,而非从1开始

    相关文章

      网友评论

          本文标题:AndroidX-Jetpack-ViewModel

          本文链接:https://www.haomeiwen.com/subject/qidliktx.html