背景
在接手新的项目的时候,发现前任用了ViewModel
的方式去处理数据。那么就得回顾一下这类的知识点。
回顾
- 保证数据生命周期不受fragment、activity的周期变化影响。
- 方便视图数据分离——也是常用的MVVM模式的重要组件
public class MiniGameMainViewModel extends ViewModel {
public String userName;
public String userID;
public String roomID;
public String userAvatar;
public boolean isHost = false;
public MutableLiveData<List<MiniGameInfo>> gameList = new MutableLiveData<>();
}
其中会包括MutableLiveData
,常规使用方式是
viewModel.gameList.observe(requireActivity(), gameInfoList -> {
gameListAdapter.setDataList(gameInfoList);
});
该类一定要继承ViewModel的才能构建合适自己项目的。
参考说一下 LiveData 的 postValue ?与SetValue有什么区别?连续调用会有什么问题?为什么?
一文带你了解ViewModel