0
私はDataModuleの魔女が開始アンドロイドでオブザーバブルを終了するのを待つ方法は?
public void onCreate() {
DataModel.loadData().doOnSuccess(this::bindData)
.subscribe()
...
上のデータを必要とするいくつかの方法
static Single<DataModel> loadData();
はまた、活動の魔女があるのDataModelを提供していも活動があまりにもデータを必要とするコールバックを持ついくつかの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()
}
このコードスニペットでは、同じデータがボタンクリックで毎回読み込まれます。 私がしたいことにある:それはロードし、(ボタンが押された場合 - コールバックはデータを待つ必要があります)だけにして、コールバックを実行するまで
- 負荷データ一度だけ
- のonCreateで待機
いくつかのアイデアで私を助けてください
subscribeまたはdoOnSuccessでイベントを処理する大きな違いはないと思います。 残念ながら、両方ともユーザーがボタンを押すたびにloadDataが実行されます。 –
次に、データがバインドされるまでボタンを非表示にすることができます。結束した後、それらを見せてください。または、無効/有効にします。 'RxBinding'を使ってリアクティブビューを作成する場合は、' combileLatest() 'を使うことができます。 –
私は何をしたいのですか?データローディングが完了する前にボタンが押されていれば、データのロードが成功した後にボタンのコールバックが遅れて実行されます –