Application does not display AlertDialog

1

Hello

I'm developing an app in Android Studio that at some point instantiates an object called Mesa with input from user. For this, there is a button with the following behavior:

if (botao_criar_mesa.isEnabled()) {
        botao_criar_mesa.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Mesa novaMesa = helper.criaNovaMesa();
            }
        });
    }

The helper in the above code is a class that checks input inputs. If they do not obey a rule, the app should display an AlertDialog, and this is not happening. Here is the helper code:

public AcertoDeContasHelper(AcertoDeContasActivity activity) {
    campoNumeroPessoas = activity.findViewById(R.id.nPessoas);
    campoValorMesa = activity.findViewById(R.id.valorMesa);
    alerta = new AlertDialog.Builder(activity).create();
    alerta.setTitle("Oops... temos um erro!");
    alerta.setButton(AlertDialog.BUTTON_POSITIVE, "Entendi!", new DialogInterface.OnClickListener(){
        public void onClick(DialogInterface dialog, int which){
            alerta.dismiss();
        }
    });
    alerta.setButton(AlertDialog.BUTTON_NEGATIVE, "Quero ajuda", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //TODO: implementar intent para a tela de ajuda
        }
    });
}

public Mesa criaNovaMesa() {
    Mesa mesa = new Mesa();
    int numeroPessoas = Integer.parseInt(campoNumeroPessoas.getText().toString());
    BigDecimal valorMesa = new BigDecimal(campoValorMesa.getText().toString());
    validaValores(mesa, numeroPessoas, valorMesa);
    return mesa;
}

private void validaValores(Mesa mesa, int numeroPessoas, BigDecimal valorMesa){
    if (numeroPessoas > 0 && numeroPessoas <= 30) {
        mesa.setNumeroPessoas(numeroPessoas);
    } else if (numeroPessoas <= 0 ) {
        alerta.setMessage("O número de pessoas deve ser no mínimo 1!");
        alerta.show();
    } else {
        alerta.setMessage("O número de pessoas deve ser no máximo 30!");
        alerta.show();
    }
}

Does anyone know what the error is and what should I do to fix it? I will be here to clarify any doubts.

Thank you in advance!

    
asked by anonymous 03.08.2018 / 01:12

0 answers