उन सभी RxJava सामग्री को समझने की कोशिश कर रहा है। मैं निम्न उदाहरण कर रहा था:Android RxJava सूचियों की सूची
private Observable<List<String>> query1() {
List<String> urls = new ArrayList<>();
urls.add("1");
urls.add("2");
urls.add("3");
urls.add("4");
return Observable.just(urls);
}
private Observable<List<String>> query2() {
List<String> urls = new ArrayList<>();
urls.add("A");
urls.add("B");
urls.add("C");
urls.add("D");
return Observable.just(urls);
}
और उसके बाद दो सूचियों में शामिल होने की कोशिश की:
Observable.zip(
query1(),
query2(),
new Func2<List<String>, List<String>, Observable<String>>() {
@Override
public Observable<String> call(List<String> a1, List<String> a2) {
List<String> list = new ArrayList<>();
list.addAll(a1);
list.addAll(a2);
return Observable.from(list);
}
})
.subscribe(new Action1<String>() { // <-- It says, cannot resolve method subscribe
@Override
public void call(String string) {
String text = testTextView.getText().toString();
testTextView.setText(text + "\n" + string);
}
});
क्या मैं गलत कर रहा हूँ? मैं मेरे विचार में प्राप्त करने के लिए उम्मीद कर रहा था एक बी सी डी
EDIT1 मैं निम्नलिखित जवाब के साथ समाप्त हो गया:
Observable.zip(
query1(),
query2(),
new Func2<List<String>, List<String>, List<String>>() {
@Override
public List<String> call(List<String> a1, List<String> a2) {
List<String> list = new ArrayList<>();
list.addAll(a1);
list.addAll(a2);
return list;
}
})
.flatMap(new Func1<List<String>, Observable<String>>() {
@Override
public Observable<String> call(List<String> urls) {
return Observable.from(urls);
}
})
.subscribe(new Action1<String>() {
@Override
public void call(String string) {
String text = testTextView.getText().toString();
testTextView.setText(text + "\n" + string);
}
});
EDIT2concat
समाधान जैसा कि इस मामले में ihuk द्वारा सुझाया गया होगा बेहतर होगा। सभी उत्तरों के लिए सराहना करें।
'concat' उदाहरण के लिए धन्यवाद। – krisk