Как отфильтровать список и собрать его индекс для строкового результата, используя 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(",")
  );
Другие вопросы по тегам