Olá. Não sei o que faço errado.
public void salva(Produto produto, DadosCarregadosListener<Produto> listener) {
Call<Produto> call = service.salva(produto);
call.enqueue(new Callback<Produto>() {
@Override
public void onResponse(Call<Produto> call, Response<Produto> response) {
Produto produtoSalvo = response.body();
listener.quandoCarregados(produtoSalvo);
new BaseAsyncTask<>(() -> {
long id = dao.salva(produtoSalvo);
return dao.buscaProduto(id);
}, listener::quandoCarregados).execute();
}
@Override
public void onFailure(Call<Produto> call, Throwable t) {
}
});
}
Quando salvo está aparecendo na tela 2 vezes o produto salvo. Não sei porquê.
Tentei retirar o ".execute()" da instrução. Funcionou, aparece o produto só uma vez. Mas observei que o produto fica salvo só na API internamente não.
O professor não tirou o execute e não teve problema de duplicidade
Alguém sabe o que acontece? Ou onde pode estar o erro