Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.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
Android 应用程序正在崩溃,不知道为什么?_Android_Button_Crash - Fatal编程技术网

Android 应用程序正在崩溃,不知道为什么?

Android 应用程序正在崩溃,不知道为什么?,android,button,crash,Android,Button,Crash,我有一个在emulator上运行正常的应用程序,我试着在我的手机上安装它,它工作得很好,但在android market上我收到了8份崩溃报告。人们抱怨我在最新版本中升级的一个按钮点击后应用程序崩溃了。在我的手机上,一切都很好。我怎样才能找到问题所在 NullPointerException 在bonbon2$1.onClick中 java.lang.NullPointerException at cro.perger.bonbon.bonbon2$1.onClick(bonbon2.java:

我有一个在emulator上运行正常的应用程序,我试着在我的手机上安装它,它工作得很好,但在android market上我收到了8份崩溃报告。人们抱怨我在最新版本中升级的一个按钮点击后应用程序崩溃了。在我的手机上,一切都很好。我怎样才能找到问题所在

NullPointerException 在bonbon2$1.onClick中

java.lang.NullPointerException
at cro.perger.bonbon.bonbon2$1.onClick(bonbon2.java:64)
at android.view.View.performClick(View.java:2501)
at android.view.View$PerformClick.run(View.java:9111)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3835)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
at dalvik.system.NativeStart.main(Native Method)

java.lang.NullPointerException
at cro.perger.bonbon.bonbon2$1.onClick(bonbon2.java:56)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8816)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4633)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)

java.lang.NullPointerException
at cro.perger.bonbon.bonbon2$1.onClick(bonbon2.java:48)
at android.view.View.performClick(View.java:2408)
at android.view.View$PerformClick.run(View.java:8816)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4633)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
编辑:

这是导致问题的文件bonbon2.java的代码

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;

public class bonbon2 extends Activity 
{

    Button btnKombinacija;
    EditText text1;
    Context context=this;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);


        btnKombinacija = (Button) findViewById(R.id.button1);

        btnKombinacija.setOnClickListener(new View.OnClickListener() 
        {
            public void onClick(View v) 
            {   
                CheckBox maliRazgovori = (CheckBox) findViewById(R.id.checkBox3);
                CheckBox maliSMS = (CheckBox) findViewById(R.id.checkBox5);
                CheckBox maliInternet = (CheckBox) findViewById(R.id.checkBox8);
                CheckBox srednjiRazgovori = (CheckBox) findViewById(R.id.checkBox2);
                CheckBox srednjiSMS = (CheckBox) findViewById(R.id.checkBox6);
                CheckBox srednjiInternet = (CheckBox) findViewById(R.id.checkBox9);
                CheckBox velikiRazgovori = (CheckBox) findViewById(R.id.checkBox1);
                CheckBox velikiSMS = (CheckBox) findViewById(R.id.checkBox4);
                CheckBox velikiInternet = (CheckBox) findViewById(R.id.checkBox7);
                text1 = (EditText) findViewById(R.id.editText1);

                *if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {*

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama) i cijena joj je 10kn.";
                            text1.setText(String
                                    .valueOf(kombinacija));

                *} else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {*

                            String kombinacija = "Odabrana kombinacija sadrži (60 SMS-ova prema svim mrežama) i cijena joj je 10kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                *} else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == true 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {*

                            String kombinacija = "Odabrana kombinacija sadrži (50 MB prometa) i cijena joj je 10kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama) i cijena joj je 30kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == true && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 SMS-ova prema svim mrežama) i cijena joj je 30kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == true 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (300 MB prometa) i cijena joj je 30kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži) i cijena joj je 60kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == true && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (500 SMS-ova prema svim mrežama) i cijena joj je 60kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (1 GB prometa) i cijena joj je 60kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                }else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 60 SMS-ova prema svim mrežama) i cijena joj je 20kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                }  else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == true && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 200 SMS-ova prema svim mrežama) i cijena joj je 40kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == true && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 500 SMS-ova prema svim mrežama) i cijena joj je 70kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == true 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 50 MB prometa) i cijena joj je 20kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == true 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 300 MB prometa) i cijena joj je 40kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == true && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (20 minuta prema svim mrežama, 1 GB prometa) i cijena joj je 70kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 60 SMS-ova prema svim mrežama) i cijena joj je 40kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == true && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 200 SMS-ova prema svim mrežama) i cijena joj je 60kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == true && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 500 SMS-ova prema svim mrežama) i cijena joj je 90kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == true 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 50 MB prometa) i cijena joj je 40kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == true 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 300 MB prometa) i cijena joj je 60kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 1 GB prometa) i cijena joj je 90kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 60 SMS-ova prema svim mrežama) i cijena joj je 70kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == true && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 200 SMS-ova prema svim mrežama) i cijena joj je 90kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == true && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 500 SMS-ova prema svim mrežama) i cijena joj je 120kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == true 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 50 MB prometa) i cijena joj je 70kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == true 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 300 MB prometa) i cijena joj je 90kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == true && velikiSMS.isChecked() == false && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (200 minuta izvan mreže, 300 minuta u mreži, 1 GB prometa) i cijena joj je 120kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == true 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (60 SMS-ova prema svim mrežama, 50 MB prometa) i cijena joj je 20kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == true 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == false) {

                            String kombinacija = "Odabrana kombinacija sadrži (60 SMS-ova prema svim mrežama, 300 MB prometa) i cijena joj je 40kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == true && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == false && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == false && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (60 SMS-ova prema svim mrežama, 1 GB prometa) i cijena joj je 70kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                } else if (maliRazgovori.isChecked() == false && maliSMS.isChecked() == false && maliInternet.isChecked() == false 
                        && srednjiRazgovori.isChecked() == true && srednjiSMS.isChecked() == false && srednjiInternet.isChecked() == false 
                        && velikiRazgovori.isChecked() == false && velikiSMS.isChecked() == true && velikiInternet.isChecked() == true) {

                            String kombinacija = "Odabrana kombinacija sadrži (80 minuta prema svim mrežama, 500 SMS-ova prema svim mrežama, 1 GB prometa) i cijena joj je 150kn";
                            text1.setText(String
                                    .valueOf(kombinacija));

                }else {

                            String kombinacija = "Odabrana kombinacija nije dobra, molim odaberi ponovo!";
                            text1.setText(String
                                    .valueOf(kombinacija));

                }


                }
        });
    }
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu2, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {
       switch (item.getItemId()) {
            case R.id.about:    
                AlertDialog alertDialog = new AlertDialog.Builder(this).create();
                alertDialog.setTitle("Paketi - info");
                StringBuilder sb = new StringBuilder();
                sb.append("Kao i inače u bonbonu, ni u jednoj od ovih kombinacija ne plaćaš naknadu za uspostavu poziva :-) " +
                        "Obračunska jedinica za pozive je 1 sekunda, a obračunska jedinica za prijenos podataka je 100 kB.  " +
                        "Paket će ti se aktivirati u najkraćem mogućem roku, a najkasnije u roku od 24 sata. O aktivaciji paketa " +
                        "primit ćeš SMS obavijest, zato pričekaj poruku prije nego što ga počneš koristiti. Možeš kupiti samo jednu " +
                        "veličinu paketa razgovora, SMS-a ili interneta npr. mali paket razgovora, srednji paket SMS-a i veliki paket " +
                        "interneta. No ne moraš kupiti sva tri paketa odjednom – nekad možeš kupiti jedan, dva ili čak nijedan, ovisi " +
                        "koja ti kombinacija u tom trenutku treba. Ne pristaj na kompromise nego si složi onu kombinaciju koja te u tom " +
                        "trenutku pali! Paket koji odabereš vrijedi 30 dana od dana aktivacije i nakon isteka će ti se automatski reaktivirati " +
                        "ako imaš dovoljno novca na računu, ako ti nije istekla valjanost bonbon računa i ako paket nisi u međuvremenu sam " +
                        "deaktivirao. O isteku paketa i mogućnosti da ga deaktiviraš bit ćeš obaviješten SMS porukom prije isteka." +
                        "Nakon isteka 30 dana možeš složiti svoju novu bonbon kombinaciju. Ili zadržati staru, ako ti tako odgovara :-)" +
                        "Ako potrošiš svoj paket unutar 30 dana (o čemu ćemo te obavijestiti SMS-om), sam možeš kupiti novi paket ali jednake v" +
                        "eličine. Ako želiš unutar tih 30 dana aktivirati paket druge veličine, kontaktiraj nas :-) Ako ne želiš kupovati novi " +
                        "paket – ne moraš, tada jednostavno nastavi razgovarati, slati poruke i surfati po standardno dobrim bonbon cijenama iz " +
                        "osnovne tarife. Ako svoj paket ne potrošiš unutar 30 dana, nepotrošene minute, SMS-ove i MB-e više nećeš moći koristiti." +
                        "Ako si aktivirao mali, srednji ili veliki paket razgovora, trebaš imati barem 1 lipu na računu da bi mogao koristiti minute " +
                        "uključene u paket. I na kraju, ovo ćeš se sigurno pitati pa ti odmah dajemo odgovor: ako sudjeluješ u promociji „pričaj for " +
                        "free do 2020.“ i imaš aktiviran neki od paketa razgovora, prvo će ti se trošiti minute iz promocije, a tek nakon toga minute " +
                        "iz paketa. ");
                sb.append("\n");
                alertDialog.setMessage(sb.toString());
                alertDialog.setButton("Povratak", new DialogInterface.OnClickListener() {

                   public void onClick(DialogInterface dialog, int which) {
                   }  
                });

                alertDialog.show();

                                break;
            case R.id.exit: 

                    finish();
                }
        return true;


        }
}

错误报告中的第48、56和64行为斜体。。。。所以我不知道这里有什么问题:

这段代码非常难读。。。作为一个编程技巧,您应该重构它,这样您就可以使用级联条件,而不是针对6个变量的else if

另一个快速提示:使用if代替ifbox.isChecked==false!我检查过了。同样的效果,更可读的代码

也就是说,您的活动似乎无法找到您提供的复选框的布局资源

Android相当积极地回收视图,我猜系统是在这些视图不在屏幕上时回收这些视图,当您尝试使用box.isChecked引用它时,这会导致空指针异常

确保您的velikiRazgovori、velikiSMS和velikiInternet框都显示在屏幕上,因为这是引发错误的行上的三个框

您可以通过将三个条件分别放在单独的行上进行调试,如下所示:

if (maliRazgovori.isChecked() && 
   !maliSMS.isChecked() && 
   !maliInternet.isChecked() && 
   !srednjiRazgovori.isChecked() && 
   !srednjiSMS.isChecked() && 
   !srednjiInternet.isChecked() && 
   !velikiRazgovori.isChecked() && 
   !velikiSMS.isChecked() && 
   !velikiInternet.isChecked()
{
   String kombinacija = "Odabrana kombinacija sadrži 
        (20 minuta prema svim mrežama) i cijena joj je 10kn.";
   text1.setText(kombinacija);
}
尝试一下我上面提到的条件,看看会发生什么


祝你好运

在没有看到任何代码的情况下,我们无法帮助您。我认为您的XML布局或编程布局中存在一些问题,如果您使用它的话。你能给我们一个你的按钮的XML代码吗?我明天会用代码更新我的问题,因为我没有带它。。。。但是有没有办法从这些报告中看出文件有错误?是的,异常中有文件名和行,通常是根第一行。例如,第一个NullPointerException出现在bonbon2.java中的第64行cro.perger.bonbon.bonbonbon2$1.onClickBon2.java:64。因此,我应该检查第64行的文件bonbon2.java…好的,我将从bonbon2.java文件粘贴代码到这里。我发现错误的地方是:它在布局中,但不是默认布局,但是在小屏幕和大屏幕的布局中。因为这个应用在我的手机上运行得很好,但在其他手机上没有那么好……太好了!:确保你的答案正确如果他们帮助你找到问题的解决方案,当人们看到你经常接受问题时,他们会更愿意帮助你解决问题!