Tudo começou quando eu implementei a função de retirar ou de adicionar um ingrediente.
Tudo funcionava perfeitamente, exceto pelo fato de que: Se o usuário estivesse mexendo com dois ou mais sabores e estes possuíssem ingredientes em comum, ao fazer uma alteração no ingrediente de um sabor ele alterava o do outro também... O mais esquisito é que quando o usuário finalizava a pizza os ingredientes eram enviados corretamente.
resumo: enviava certo e exibia errado.
foram semanas estudando e revisando o código até que hoje eu percebi que talvez eu estivesse apontando pro "objeto mãe" do ingrediente e não para o ingrediente exclusivo do sabor em questão.
solução: instanciar um novo objeto de ingrediente ao fazer a montagem dos sabores disponíveis no cardápio
for (String ingrediente : ingredientes) {
IngredienteModel aux = PimpController.ingredientes.get(ingrediente);
IngredienteModel aux2 = new IngredienteModel(aux.getNome(), aux.getPreco(), true); iAux.add(aux2);
}
sendo aux = o ingrediente mãe.
aux2 = o ingrediente exclusivo do sabor.
Nenhum comentário:
Postar um comentário