Olá, pessoal.
Ao editar um registro, por exemplo, constando o nome "Thiago" e altero para "Thiago Ornelas", o adapter atualiza para o novo nome (Thiago Ornelas) e volta para o antigo (Thiago). Quando eu mudo de tela e retorno, aí sim mostra o nome novo (Thiago Ornelas).
Não entendi o motivo, pois estou adicionando a lista atualizada, usando o setAdapter e o notifyDataSetChanged.
Como se eu não estivesse usando a mesma instância do adapter (talvez seja até isso, mas para mim o código está certo).
Main
@Override
protected void onResume() {
super.onResume();
listaVisitasView.configuraAdapter(listaDeVisitas);
BuscaNaWeb_E_AtualizaInterno();
Toast.makeText(this, "Atualizando lista", Toast.LENGTH_SHORT).show();
}
ListaVisitasView
public void configuraAdapter(RecyclerView listaDeVisitas) {
new Busca_TODAS_Visitas_Pela_SituacaoTask(situacaoDAO, visitaDAO, encontradas -> {
adapter.atualiza(encontradas);
listaDeVisitas.setAdapter(adapter);
configuraItemTouchHelper(listaDeVisitas);
adapter.setOnItemClickListener((visita, posicao) -> {
Toast.makeText(context, "Carregando visita", Toast.LENGTH_SHORT).show();
new buscaVisitaPeloId(visitaDAO, visita, this::vaiParaEditaVisita).execute();
});
}).execute();
}
Método atualiza do Adapter
public void atualiza(List<Visita> visitas) {
this.visitas.clear();
this.visitas.addAll(visitas);
notifyDataSetChanged();
}
Poderiam me ajudar?