Как отфильтровать список и собрать его индекс для строкового результата, используя RxJava2?
Это мой код для сбора индекса флажка, который проверил и получить строковый результат.
StringBuilder sb = new StringBuilder();
for (int i = 0; i < checkBoxList.size(); i++) {
if (checkBoxList.get(i).isChecked()) {
sb.append((i + 1) % 7 + 1);
sb.append(",");
}
}
Но я хочу реализовать это, используя RxJava2, как это.
Observable.fromArray (CheckBoxList).filter(..). Подписаться (..)....
У кого есть идеи?
Спасибо за первое!
1 ответ
Решение
Я предлагаю прочитать книгу или вступительное сообщение в блоге о RxJava, где вы найдете основные строительные блоки для этого типа потока:
Observable.range(0, checkBoxList.size())
.filter(idx -> checkBoxList.get(idx).isChecked())
.collect(StringBuilder::new, (sb, idx) ->
sb.append((idx + 1) % 7 + 1).append(",")
);