val user:LiveData<User> = Transformations.switchMap(userIdLiveData){ userId-> Repository.getUser(userId) }
switchMap接受两个参数,一个是userIdLiveData,switchMap会对它进行观察
第二个参数是转换函数,在该函数中返回一个livedata对象。switchMap的工作原理就是将转换函数中返回的livedata转换成另一个可以观察的livedata对象
另外对于没有参数的方法,可以使用重复设置livedata的方法,因为livedata不会判断新设置的值是否与原有的值相同,只要调用setvalue或者postvalue就一定会触发数据变化的通知。