单个片段中的多个 LiveData 观察者
Multiple LiveData observer in single fragment
我在如下片段中使用了多个 Livedata ovservers。这是最好的方法吗?
final Observer<String> textLeftObserver = textLeft -> {
//body
};
final Observer<String> textRightObserver = textRight -> {
//body
};
appViewModel.getTextLeft().observe(getViewLifecycleOwner(), textLeftObserver);
appViewModel.getTextRight().observe(getViewLifecycleOwner(), textRightObserver);
您可以在一个片段中使用多个观察者。仅当数据流与每个观察者不同时才完全没问题。
比如你有一个用户流和一个订单流,这里使用两个观察者就可以了。
但是如果您正在观察两个流,一个是用户名和用户年龄。那么您可以只创建一个带有用户对象的流并收听它,而不是创建两个。
希望对您的理解有所帮助
我在如下片段中使用了多个 Livedata ovservers。这是最好的方法吗?
final Observer<String> textLeftObserver = textLeft -> {
//body
};
final Observer<String> textRightObserver = textRight -> {
//body
};
appViewModel.getTextLeft().observe(getViewLifecycleOwner(), textLeftObserver);
appViewModel.getTextRight().observe(getViewLifecycleOwner(), textRightObserver);
您可以在一个片段中使用多个观察者。仅当数据流与每个观察者不同时才完全没问题。
比如你有一个用户流和一个订单流,这里使用两个观察者就可以了。
但是如果您正在观察两个流,一个是用户名和用户年龄。那么您可以只创建一个带有用户对象的流并收听它,而不是创建两个。
希望对您的理解有所帮助