jeudi 9 novembre 2017

Null pointer acception on IF Statement [duplicate]

This question already has an answer here:

I am new to Android Studio and am adding a DecoView to my app, whereby a user selects either package '20' or '30'. When the user selects one, my app crashes and I think its because of a null pointer within my IF statement. I want to be able to select one or the other and a DecoView will appear.

The IF statement is as follows:

 String enteractualNUM = enteractual.getText().toString();
            final int actualshippersnum = Integer.parseInt(enteractualNUM);

            String spinnnerSelection2 = CreateLine.spinnerSelection2;

            int DVoptimum20 = Integer.valueOf(optimum20.intValue());
            int DVoptimum30 = Integer.valueOf(optimum30.intValue());


            if (spinnnerSelection2.equals("20")) {
                if (actualshippersnum > optimum20) {
                    decoView.addEvent(new DecoEvent.Builder(DVoptimum20).setIndex(mSeries2Index).setDelay(3900).build());
                    decoView.addEvent(new DecoEvent.Builder(result20).setIndex(mSeries3Index).setDuration(1500).setDelay(9000).build());

                } else if (actualshippersnum < optimum20) {
                    decoView.addEvent(new DecoEvent.Builder(DVoptimum20).setIndex(mSeries2Index).setDelay(3900).build());
                    decoView.addEvent(new DecoEvent.Builder(result20).setIndex(mSeries1Index).setDuration(1500).setDelay(9000).build());
                }

                if (spinnnerSelection2.equals("30")) {

                    if (actualshippersnum > optimum30) {
                        decoView.addEvent(new DecoEvent.Builder(DVoptimum30).setIndex(mSeries2Index).setDuration(500).setDelay(7000).build());
                        decoView.addEvent(new DecoEvent.Builder(result30).setIndex(mSeries3Index).setDuration(1500).setDelay(9000).build());

                    } else if (actualshippersnum < optimum30) {
                        decoView.addEvent(new DecoEvent.Builder(DVoptimum30).setIndex(mSeries2Index).setDuration(500).setDelay(7000).build());
                        decoView.addEvent(new DecoEvent.Builder(result20).setIndex(mSeries1Index).setDuration(1500).setDelay(9000).build());
                    }

                }
            }

The stacktrace

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.almac.tracker, PID: 6872 java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Double.intValue()' on a null object reference at com.almac.tracker.LineDetails$2.onClick(LineDetails.java:181) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24697) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Application terminated.

Thanks in advance

Aucun commentaire:

Enregistrer un commentaire