Я думаю, что нет необходимости повторять точное описание того, как установлен мой RecyclerView.Это описано здесь: Android - RecyclerView с различным динамическим контентом, отличающимся для каждого элемента
Короче говоря, мой Recycler View может содержать различные элементы управления, такие как редактирование текста, спиннер и т. Д. Затем,Recyclelerview помещается в макет Activity и всегда расширяется с помощью вложенного представления прокрутки в качестве родительского.Когда пользователь нажимает кнопку «Подтвердить» в моем действии, содержимое представления переработчика должно быть проверено - например, если какой-то конкретный элемент содержит текстовое представление, которое должно быть непустым, действие не должно быть завершено и должна отображаться стандартная отметка ошибки внутри этого конкретного текста редактирования..
В моем представлении рециркулятора я создал метод validate
, и он должен вернуть true
или false
, чтобы я знал результат проверки.Тем не менее, я не знаю, как получить доступ к содержимому конкретного элемента повторного просмотра из адаптера, это мой метод (в данном случае, отредактируйте текстовый элемент управления с типом, установленным на электронную почту):
public boolean validate()
{
for(Object item : items)
{
Parameter p = (Parameter)item;
switch (p.type)
{
case Parameter.EMAIL_PARAM:
{
String email = ((EmailParameter)p).value;
/*validate email here, if invalid, return
false and set error indicatior for corresponding
recyclerview item*/
}
}
}
return true;
}
items
is List<Object>
и содержит все элементы просмотра повторного просмотра с различными фактическими типами, каждый тип определяет конкретный отображаемый контент повторного просмотра.Когда пользователь меняет элемент управления конкретного элемента, соответствующий элемент из items
будет соответственно обновляться, поэтому при вызове validate
все элементы содержат свежие данные (в случае EmailParameter
это будет поле value
, уже настроенное на набранный текств редактировании текстового элемента управления).
Поскольку я могу легко проверить окончательные значения, я не знаю, как обновить соответствующий элемент управления представлением рециркулятора, чтобы показать ошибку.
Есть ли у вас какие-либо идеи?