Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 评级栏膨胀导致我的应用程序崩溃_Java_Android_Android Alertdialog_Ratingbar - Fatal编程技术网

Java 评级栏膨胀导致我的应用程序崩溃

Java 评级栏膨胀导致我的应用程序崩溃,java,android,android-alertdialog,ratingbar,Java,Android,Android Alertdialog,Ratingbar,当用户使用“Consumido”设置一个项目时,他需要为该项目设置一个评级。我用一个评级条将视图充气,当用户单击OK按钮时,我尝试这样做 builder.setNeutralButton(labelEditar, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) {

当用户使用“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();
                }
            });
单击“确定”后,应用程序崩溃。
谢谢大家!

您为对话框设置了视图,但您正在调用
reAvalia.getRating()
而从未将
reAvalia
设置为任何内容。这就是您获得NullPointerExection的原因。

请共享您获得的错误。这是一个运行时错误,“很遗憾,seen.me已停止”。请参阅日志窗口/日志面板。您的应用程序崩溃的原因和位置如下。java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“float android.widget.RatingBar.getRating()”。请共享更多代码。您可能只是不持有对评级条的引用…一旦创建,我将执行此最终评级条reAvalia;reAvalia=(评级条)findViewById(R.id.reAvalia);但你还没有夸大这个观点。在将其设置为对话框的视图之前,它不会膨胀。所以它找不到它并将其设置为null.CaseyB,你可以告诉我怎么做吗?你可以创建自己的对话框子类,你可以控制其中发生的一切。