0、相关资料
相关视频:
Jetpack组件LiveData(B站上的视频)
相关文章:
LiveData 使用及原理解析(阅读量1163)
Android架构组件(二)——LiveData(阅读量23278)
Android Jetpack组件之LiveData详解(阅读量1887,2020.4.8,LiveData转换)
一行一行分析Jetpack之LiveData(阅读量658,2020.5.31,详细)
1、LiveData基本概念
1.1、LiveData到底是什么
1.2、为什么需要LiveData
小知识点:接口回调和观察者模式的区别,接口回调一对一,观察者模式一对多。
3、LiveData的使用
3.1、两个Fragment之间数据的交互
Fragment1、Fragment2、ViewModel,Fragment1和Fragment2可以共用ViewModel
先在ViewModel中定义一个MutableLiveData
/**
* 更新NestedScrollView,让其位于最顶部
*/
public MutableLiveData<Boolean> mIsUpdateNestedScrollView = new MutableLiveData<>();
在Fragment1中赋值
// 更新NestedScrollView,让其位于最顶部
// 此处设置true或者false都可
mViewModel.mIsUpdateNestedScrollView.setValue(true);
在Fragment2中进行监听
NestedScrollView nestedScrollView = view.findViewById(R.id.content_layout);
if (nestedScrollView != null) {
mViewModel.mIsUpdateNestedScrollView.observe(getViewLifecycleOwner(), new Observer<Boolean>() {
@Override
public void onChanged(Boolean aBoolean) {
// 其作用是让nestedScrollView滚动到顶部
nestedScrollView.smoothScrollTo(0, 0);
}
});
}