Desfazer as alterações no listview onbackpressed

Eu tenho uma exibição de lista que contém a lista de produtos e, ao clicar no item da lista, os detalhes da lista são abertos. O item da lista contém valores como peso bruto, peso líquido etc.

Na parte superior da página de detalhes do item da lista, tenho um botão cruzado em vez do botão voltar, que ao clicar abrirá uma caixa de diálogo com a mensagem "Deseja salvar as alterações" e com o botão sim ou não.

Ao pressionar YES, sou capaz de salvar as alterações na exibição em lista, mas ao pressionar NO, não consigo desfazer as alterações.

Abaixo está o código para mostrar a caixa de diálogo:

@Override
    public boolean onBackPressed() {

        final AlertDialog alert = new AlertDialog.Builder(getContext()).create();
        alert.setMessage(getContext().getString(R.string.save_activity));
        alert.setCancelable(false);
        alert.setButton(getContext().getString(R.string.strYes), new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                    saveAndClose();
            }
        });
        alert.setButton2(getContext().getString(R.string.strNo), new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                alert.dismiss();
                ((Activity)getContext()).finish();
            }
        });
        alert.show();
        return true;

    }

Para o mesmo, tentei criar uma lista de matriz com referência diferente e tentei definir os valores.

Mas parece que não está funcionando.

Forneça qualquer solução para o mesmo.

questionAnswers(1)

yourAnswerToTheQuestion