【发布时间】:2019-02-14 06:47:54
【问题描述】:
我想开始学习 RxJava 和 RxAndroid,并编写以下代码。
我在 Observable 中添加了 3 个数字,我想将这 3 个数字 显示到 Toast 和 Observer!
我添加了这个数字:1,2,3
我通过一个视频学习 Rx,并在此视频中将每个数字显示为 Toast。
但在我的代码中,只需将 last 数字显示为 Toast。
我的意思是: 在教程视频中,如果他添加了 3 个数字 显示每 3 个数字输入 Toast,但在我的代码中只显示 last 数字!
我的代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Observable<Integer> observable = Observable.just(1, 2, 3);
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer());
}
private Observer<Integer> observer() {
return new Observer<Integer>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(Integer integer) {
Toast.makeText(MainActivity.this, integer + "", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(Throwable e) {
}
@Override
public void onComplete() {
}
};
}
}
我该如何解决?
【问题讨论】:
标签: java android rx-java2 rx-android