Я пытаюсь изучить некоторые RxJava и RxAndroid, и я думаю, что проблема, которую я могу, легко сделать с помощью такого инструмента. Вот проблема: Мы могли бы «N» количество просмотров в Activity, и каждый из них используется для удовлетворения некоторого состояния. Когда пользователь нажимает «Сохранить», мы хотим проверить, соблюдены ли все условия во всех представлениях, а если нет, попросите пользователя подтвердить их отдельно. Так вот пример того, как я хотел бы иметь дело с этой проблемой без RxJava:Chained RxJava вызывает поток пользовательского интерфейса
private void validation(List<CustomView> views)
{
for (CustomView view : views)
{
if (view.metCondition() == false)
{
showConfirmationDialog(view);
return false;
}
}
return true;
}
private void showConfirmationDialog(CustomView view)
{
ConfirmationDialog dialog = new ConfirmationDialog(this, view);
dialog.show();
}
private void dialogResult(CustomView view)
{
view.setCondition(true);
validation(mViews);
}
Очевидно, что я бы своего рода слушателя за результат подтверждения и после того, состояние подтверждено (с ОК или Отмена) для параметра view.metCondition() будет установлено значение true, чтобы он снова не появлялся для этого представления. И, конечно же, после того, как «validation» вернет true, она будет запускать функцию «Сохранить()».
Это действительно модный показ моего реального решения, поскольку я хотел сохранить его как можно более простым, так что просто комментируйте, если вы знаете, как можно сделать что-то подобное с RxJava. Я уже использую библиотеку для некоторых асинхронных файлов (разговаривая с устройствами, подключенными к USB), поэтому я кое-что знаю, но никогда не знал, как цепочка вызовов, подобных этому.
Любая помощь очень ценится.
Редактировать
добавлен метод слушателя, чтобы мы могли видеть, что функция «Validate()» вызывается снова
Это очень хороший пример того, что мне нужно, но мне потребовалось некоторое время, чтобы это понять. Большое спасибо. –