如何将Android Room与片段配合使用

时间:2018-12-21 20:42:27

标签: android-room

我需要使用碎片整理室的帮助。这不是与我的代码直接相关的问题,而是与建议的使用空间模式有关。 如代码所示,我已经在onCreateView()方法中实现了“观察”部分。 loadView()是使用数据库数据加载视图对象(textView,editText等)的函数。 “检查”是数据库实体。 问题是,在恢复(例如更改方向)后调用onCreateView且文本框中有未保存的数据时,这些数据会在调用loadView()方法时丢失,该方法会将保存的实例中的数据替换为保存的数据进入数据库。 这不是代码中的问题,这是预期的行为。

有没有避免这种问题的模式?

谢谢!

public void onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState){ 
    viewModel.getOne(id).observe(this,new Observer<Check>(){
        @Override
        public void onChanged(@Nullable final Check chk){
            if(chk!=null) {
                this.check = chk;
                loadView(chk);
            }
        }
    });
}

0 个答案:

没有答案