This probably the most asked question, but it very difficult to find some answers. First I am newbie. I want to make simple quadratic equation formula app. That would allow to to find solution fast. I bump with the problem that Android Studio say Code is okey, but device crashes after opening app.
private Button mButton;
private EditText mEdit;
private EditText mEdit1;
private EditText mEdit2;
private TextView mText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mButton = (Button)findViewById(R.id.button2);
mEdit = (EditText)findViewById(R.id.editText);
mEdit1 = (EditText)findViewById(R.id.editText2);
mEdit2 = (EditText)findViewById(R.id.editText3);
mText = (TextView)findViewById(R.id.textView4);
//Int definēšana
final int i1 = Integer.parseInt(mEdit.getText().toString());
final int i2 = Integer.parseInt(mEdit1.getText().toString());
final int i3 = Integer.parseInt(mEdit2.getText().toString());
mButton.setOnClickListener(
new View.OnClickListener()
{
public void onClick(View view)
{
//Mainīgo ievade
int a = i1;
//Pārbauda vai a nav nulle
if (a == 0){
mText.setText(String.valueOf("Nav kvadrātvienādojums"));
} else {
int b = i2;
int c = i3;
//Diskriminanta aprēķināšana
double diskr = (b*b)-4*a*c;
//Kvadrātsakne no diskriminanta
double sd = (double) Math.sqrt(diskr);
//Sakņu aprēķināšana
double x1 = (-b+sd)/(2*a);
double x2 = (-b-sd)/(2*a);
//Rezultāta izvade
if (diskr < 0){
mText.setText(String.valueOf("Kvadrātvienādojumam nav sakņu"));
} else if (diskr == 0){
mText.setText(String.valueOf("Kvadrātvienādojumam ir viena sakne: " + x1));
} else {
mText.setText(String.valueOf("Kvadrātvienādojuma saknes: " + x1 + " un " + x2));
}
}
}
});
}
And logcat that may help detect a problem
FATAL EXCEPTION: main
Process: com.homemade.prtbust.kvadratvienadojums, PID: 4552
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.homem`enter code here`ade.prtbust.kvadratvienadojums/com.homemade.prtbust.kvadratvienadojums.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3133)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3243)
at android.app.ActivityThread.access$1000(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1718)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6917)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.homemade.prtbust.kvadratvienadojums.MainActivity.onCreate(MainActivity.java:38)
at android.app.Activity.performCreate(Activity.java:6609)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3086)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3243)
at android.app.ActivityThread.access$1000(ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1718)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6917)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)