2011-08-28 56 views
0

我有一个在模拟器上运行正常的应用程序,我试图将它安装在我的手机上,它运行良好,但在Android市场上,我有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在错误报告是ITALIC ....所以我不知道这里有什么问题:(

+1

没有看到任何代码,我们不能帮你。 –

+0

我将用代码更新我的问题tomorow,因为我没有与我....但是有没有什么办法可以看到什么文件是错误的,从thoose报告? – Goran

+2

是的,有例外的文件名和行,通常它是根(第一行)。例如。第64行的bonbon2.java中出现了第一个'NullPointerException'(*在cro.perger.bonbon.bonbon2 $ 1.onClick(** bonbon2.java:64**)*)。 – 2011-08-28 11:35:24

回答

0

这段代码是非常难以阅读的......就像编程技巧一样,您应该对它进行重构,而不是ifs中的6个变量,您有级联条件。

另一个快速提示:而不是if(box.isChecked == false),只需使用if(!box.isChecked)。同样的效果,更可读的代码。

也就是说,看起来您的活动无法为您提供的复选框找到布局资源。

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

请确保您的velikiRazgovorivelikiSMSvelikiInternet框(因为这些是引发错误的线上的三个)都显示在屏幕上。

你可以通过把每三个条件句在单独行像这样调试此:

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); 
} 

这给我用上述条件试一试,看看会发生什么。

祝你好运!

+0

我发现错误是:(这是在布局,但不是默认布局,但在小和xlarge屏幕的布局。因为这个应用程序工作在我的手机上很好,但在其他手机上没有这么好..... – Goran

+0

太棒了!:)确保你的答案正确,如果他们帮助你找到问题的解决方案,它会让人更愿意帮助你在将来他们看到你经常接受问题时! – Codeman