по нажатию вашей кнопки, а затем подтвердите данные, как показано ниже.
я есть фрагмент, который содержит обзор переработчика. Управление этим обзором осуществляется с помощью адаптера, который включает в себя шаблон держателя. Во фрагменте у меня есть кнопка «Сохранить», эта кнопка должна проверить, что в списке нет пустых TextInputEditText.
Проблема в том, что я не могу получить доступ к TextInputEditText адаптера. ViewHolder доступен только из метода "onBindViewHolder". Я пытался получить доступ из фрагмента таким образом:
for (int i = 0; i < employeeList.size(); i++) {
View employeeView = recyclerEmployees.findViewHolderForAdapterPosition(i).itemView;
if (employeeView != null) {
TextInputLayout textInputLayoutName = employeeView.findViewById(R.id.tilName);
TextInputEditText textInputEditTextName = employeeView.findViewById(R.id.tieName);
Сделав это, мне удалось пометить ошибку в TextInputLayout. Я также был в состоянии получить текст TextInputEditText. Казалось, все работает, но ...
Проблема появляется, когда список меняется, и мне нужно обновить адаптер, позвонивnotifyDataSetChanged
findViewHolderForAdapterPosition
возвращает ноль в некоторых позициях списка.
Я прочитал в каком-то посте, что этот метод не безопасноhttps://stackoverflow.com/a/32840927/1484779
Я также прочитал, что это не очень хорошая практика для доступа кviewholder
внеonBindViewHolder
метод.
Может ли кто-нибудь помочь мне получить это? Это не кажется сложным, но это доставляет мне большую потерю времени.
Я просто хочу нажать на кнопку Сохранить во фрагменте и проверить, что нетTextInputEditText
пуст в списке предметов в моемrecyclerview
Спасибо