Android 什么';这是“什么?”;“适当的”;在ViewModel中获取LiveData值的方法,而不是使用转换?

Android 什么';这是“什么?”;“适当的”;在ViewModel中获取LiveData值的方法,而不是使用转换?,android,android-architecture-components,android-livedata,Android,Android Architecture Components,Android Livedata,在ViewModel中获取LiveData值的“正确”(惯用)方法是什么?我知道转换,但它不会这样做,因为特定的LiveData没有观察者。。。我一直在用这个: // triggered by user interaction, fetch value of Live Data mLiveData.observeForever(new Observer<List<String>>() { @Override

在ViewModel中获取LiveData值的“正确”(惯用)方法是什么?我知道转换,但它不会这样做,因为特定的LiveData没有观察者。。。我一直在用这个:

    // triggered by user interaction, fetch value of Live Data
    mLiveData.observeForever(new Observer<List<String>>() {
            @Override
            public void onChanged(List<String> values) {
                mLiveData.removeObserver(this);
                // process values...
            }
    });
//由用户交互触发,获取实时数据的值
mLiveData.observeForver(新观察者(){
@凌驾
更改后的公共void(列表值){
mLiveData.removeObserver(本);
//进程值。。。
}
});

谢谢

嗯?观察者应该接收新的值。如果您需要“处理值”,那么使用
转换.map
。但是,在我的片段中没有观察到mLiveData,因此我不能使用转换…我认为如果您观察映射版本,那么它应该在内部也开始观察原始源代码。不是吗?下面是使用
Flow
mLiveData.asFlow().onEach{//do stuff}.launchIn(viewModelScope)