Como posso validar o TextInputEditText do adaptador de reciclagem a partir do fragmento?
Eu tenho um fragmento, que contém uma reciclagem. Essa visão de reciclagem é gerenciada com um adaptador que inclui o padrão de visualizador. No fragmento, tenho um botão "Salvar", esse botão deve verificar se nenhum TextInputEditText está vazio na lista.
O problema é que não consigo acessar o TextInputEditText do adaptador. O ViewHolder é acessível apenas a partir do método "onBindViewHolder". Eu tentei acessar do fragmento de uma maneira:
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);
Ao fazer isso, consegui marcar um erro no TextInputLayout. Também consegui obter o texto do TextInputEditText. Tudo parecia funcionar, mas ...
O problema aparece quando a lista é alterada e preciso atualizar o adaptador chamandonotifyDataSetChanged
findViewHolderForAdapterPosition
retorna nulo em algumas posições da lista.
Eu li em algum post que não é seguro chamar esse métodohttps://stackoverflow.com/a/32840927/1484779
Também li que não é uma boa prática acessar oviewholder
fora daonBindViewHolder
método.
Alguém pode me ajudar a conseguir isso? Não parece difícil, mas está me causando uma grande perda de tempo.
Eu só quero clicar no meu botão Salvar no fragmento e verificar se nãoTextInputEditText
está vazio na lista de itens no meurecyclerview
obrigado