Closed
Description
private static final String TAG = "MainActivity";
private Subscription subscription;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// worked
subscription = AndroidObservable.fromActivity(this,
getObservable().subscribeOn(Schedulers.newThread())).subscribe(
this);
// Not work
// subscription = AndroidObservable.fromActivity(this, getObservable())
// .subscribeOn(Schedulers.newThread()).subscribe(this);
// worked
// subscription = getObservable().subscribeOn(Schedulers.newThread())
// .observeOn(AndroidSchedulers.mainThread()).subscribe(this);
}
private Observable<Integer> getObservable() {
return Observable.create(new OnSubscribeFunc<Integer>() {
@Override
public Subscription onSubscribe(Observer<? super Integer> obsever) {
for (int i = 0; i < 10; i++) {
obsever.onNext(i);
}
obsever.onCompleted();
return Subscriptions.empty();
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
subscription.unsubscribe();
}
@Override
public void onCompleted() {
Log.d(TAG, "finished");
}
@Override
public void onError(Throwable error) {
}
@Override
public void onNext(Integer i) {
Log.i(TAG, i + "");
}
What I mean of not work is onNext() and onCompleted() not get called.
Metadata
Metadata
Assignees
Labels
No labels