I get an Unsupported Operation Exception when trying to modify a list from inside "apply" method of flatmap in RxJava2.
compositeDisposable.add(createObservable()
.flatMap(new Function<List<String>, ObservableSource<List<String>>>() {
@Override
public ObservableSource<List<String>> apply(List<String> s) throws Exception {
List<String> modiList = new ArrayList<String>();
modiList.addAll(s);
modiList.add("barber");
//s.add("barber") and return Observable.fromArray(s) thows error
return Observable.fromArray(modiList);
}
})
.subscribeWith(getObserver()));
However, If i create a new list it works fine as shown above. Any insights about it ?
Below is my Observable creation logic :
String[] arr = {"hi", "hello", "bye"};
Observable<List<String>> observable;
observable = Observable.fromCallable(() -> Arrays.asList(arr));
> observable; observable = Observable.fromCallable(() -> Arrays.asList(arr));
– Gaurav Jan 16 '17 at 09:46