评级栏膨胀崩溃了我的应用程序

时间:2016-03-03 17:59:21

标签: java android alertdialog android-alertdialog ratingbar

当用户使用" Consumido"设置一个项目时,他需要为此项目设置一个评级。我用一个评级栏给视图充气,当用户点击OK按钮时,我试试这个。

builder.setNeutralButton(labelEditar, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    if(regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturais().get(position).isConsumido()){
                        regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturais().get(position).setConsumido(false);
                    }
                    else{
                        regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturais().get(position).setConsumido(true);
                        AlertDialog.Builder avaliacaoDialog = new AlertDialog.Builder(TelaCadastrados.this);
                        avaliacaoDialog.setTitle("Avalie este item!");
                        avaliacaoDialog.setView(R.layout.layout_alert_dialog_avaliacao);

                        avaliacaoDialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                regraDeNegocioSingleton.getListaDeItensSingleton().getListaDeItensCulturais().get(position).setAvaliacao(reAvalia.getRating());
                            }
                        });
                        avaliacaoDialog.show();
                    }
                    Toast.makeText(TelaCadastrados.this, "Status de consumido alterado para: " + labelToast, Toast.LENGTH_SHORT).show();
                }
            });

On" Ok"点击,应用程序崩溃。 谢谢!

1 个答案:

答案 0 :(得分:0)

您为对话框设置了视图,但是在没有将reAvalia.getRating()设置为任何内容的情况下,您正在调用reAvalia。这就是你获得NullPointerExeption的原因。