Вы должны использовать from()
.Попробуйте этот код:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
Observable<Integer> observable = Observable.fromIterable(list);
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() {
}
};
}
}
Разница между Observable.from()
и Observable.just()
- Observable.just()
выдается только один раз, тогда как Observable.from () выдает n раз, т.е. длину массива, в данном случае 3.
РЕДАКТИРОВАТЬ Попробуйте этот код:
Observable.just(1, 2, 3)
.forEach(o->Toast.makeText(MainActivity.this, o + "", Toast.LENGTH_SHORT).show());