Activity.runOnUiThread()
有这个:
if (Thread.currentThread() != mUiThread) {
mHandler.post(action);
} else {
action.run();
}
这意味着,如果我在 UI 线程中,它会立即运行操作,如果我不在,它会向处理程序发布操作。 我正在寻找类似此功能的 RxJava 调度程序。存在吗?
最佳答案
是的,很简单。
getSomeObservable().observeOn(AndroidSchedulers.mainThread())
在 .observeOn(AndroidSchedulers.mainThread()) 之后,您可以订阅您的可观察对象,回调将进入主线程。
.subscribe(new Subscriber<Object>() {
@Override
public void onCompleted() {
Log.i(TAG,Thread.currentThread().getName());
}
@Override
public void onError(Throwable e) {
Log.i(TAG,Thread.currentThread().getName());
}
@Override
public void onNext(Object o) {
Log.i(TAG,Thread.currentThread().getName());
}
});
关于android - RxJava 类立即调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46968498/