Android 应用程序正在崩溃,不知道为什么?
我有一个在emulator上运行正常的应用程序,我试着在我的手机上安装它,它工作得很好,但在android market上我收到了8份崩溃报告。人们抱怨我在最新版本中升级的一个按钮点击后应用程序崩溃了。在我的手机上,一切都很好。我怎样才能找到问题所在 NullPointerException 在bonbon2$1.onClick中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:
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文件粘贴代码到这里。我发现错误的地方是:它在布局中,但不是默认布局,但是在小屏幕和大屏幕的布局中。因为这个应用在我的手机上运行得很好,但在其他手机上没有那么好……太好了!:确保你的答案正确如果他们帮助你找到问题的解决方案,当人们看到你经常接受问题时,他们会更愿意帮助你解决问题!