我有dataModule以某种方式提供DataModel
static Single<DataModel> loadData();
还有一个Activity需要启动时的数据
public void onCreate() {
DataModel.loadData().doOnSuccess(this::bindData)
.subscribe()
...
此外,该活动还有几个带回调的UI按钮,这些按钮也需要数据
public void onViewCreated(View v..) {
v.findViewById(R.id..).setOnClickListener(this::updateViewX)
v.findViewById(R.id..).setOnClickListener(this::updateViewX)
}
void updateViewX() {
DataModel.loadData().doOnSuccess(dataModel -> /** somehow updating ui **/)
.subscribe()
}
void updateViewY() {
DataModel.loadData().doOnSuccess(dataModel -> /** somehow updating ui **/)
.subscribe()
}
它可以工作,但在此代码段中,每次按下按钮时都会加载相同的数据。 我想要的是:
请帮助我一些想法
答案 0 :(得分:0)
DataModel.loadData().subscribe({dataModel -> /** somehow updating ui **/});
您需要使用Observable
或Action
使用subscribe()
方法进行订阅。