hallo leute,
habe ein problem mit meiner app und wollte fragen ob einer von euch mir vllt. nen rat hat die logcat hab ich auch gleich mitgeschickt sobald ich zwei werte eingebe und auch berechne(calc) drücke stürzt mein programm ab weshalb, weis ich leider selbst nicht. meine vermutung ist das es i.wann mit den if-abfragen zu tun hat. da ich prüfe ob die felder leer sind.
danke schon im voraus.
habe ein problem mit meiner app und wollte fragen ob einer von euch mir vllt. nen rat hat die logcat hab ich auch gleich mitgeschickt sobald ich zwei werte eingebe und auch berechne(calc) drücke stürzt mein programm ab weshalb, weis ich leider selbst nicht. meine vermutung ist das es i.wann mit den if-abfragen zu tun hat. da ich prüfe ob die felder leer sind.
danke schon im voraus.
Java:
package de.deeprojects.speedcalc;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class SpeedCalc extends Activity {
private Button calc, delete;
private EditText speed, time, way;
/** LogCat */
private static final String TAG = "StatusActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
speed = (EditText) findViewById(R.id.speed);
time = (EditText) findViewById(R.id.time);
way = (EditText) findViewById(R.id.way);
/** calc Button, berechne das leere Feld */
calc = (Button) findViewById(R.id.calc);
calc.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i(TAG, "click calc Button");
double s = Double.parseDouble(speed.getText().toString());
double t = Double.parseDouble(time.getText().toString());
double w = Double.parseDouble(way.getText().toString());
double erg = 0;
/** abfragen ob min. 2 felder ausgefüllt sind */
if (time != null && way != null || way != null && speed != null
|| time != null && speed != null) {
/** speed berechnen */
if (speed == null) {
erg = w / t;
speed.setText("" + erg);
}
/** time berechnen */
if (time == null) {
erg = w / s;
time.setText("" + erg);
}
/** way berechnen */
if (way == null) {
erg = s * t;
way.setText("" + erg);
}
}
}
});
/** delete Button, alle Felder leeren */
delete = (Button) findViewById(R.id.del);
delete.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Log.i(TAG, "click delete Button");
/** felder werden zurückgesetzt */
speed.setText("");
time.setText("");
way.setText("");
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
item.getItemId();
setContentView(R.layout.about);
return true;
}
}
Code:
02-02 03:17:03.491: I/StatusActivity(1141): click calc Button
02-02 03:17:03.501: D/AndroidRuntime(1141): Shutting down VM
02-02 03:17:03.501: W/dalvikvm(1141): threadid=1: thread exiting with uncaught exception (group=0x40015560)
02-02 03:17:03.511: E/AndroidRuntime(1141): FATAL EXCEPTION: main
02-02 03:17:03.511: E/AndroidRuntime(1141): java.lang.NumberFormatException:
02-02 03:17:03.511: E/AndroidRuntime(1141): at org.apache.harmony.luni.util.FloatingPointParser.parseDouble(FloatingPointParser.java:267)
02-02 03:17:03.511: E/AndroidRuntime(1141): at java.lang.Double.parseDouble(Double.java:318)
02-02 03:17:03.511: E/AndroidRuntime(1141): at de.deeprojects.speedcalc.SpeedCalc$1.onClick(SpeedCalc.java:35)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.view.View.performClick(View.java:2485)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.view.View$PerformClick.run(View.java:9080)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.os.Handler.handleCallback(Handler.java:587)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.os.Handler.dispatchMessage(Handler.java:92)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.os.Looper.loop(Looper.java:123)
02-02 03:17:03.511: E/AndroidRuntime(1141): at android.app.ActivityThread.main(ActivityThread.java:3647)
02-02 03:17:03.511: E/AndroidRuntime(1141): at java.lang.reflect.Method.invokeNative(Native Method)
02-02 03:17:03.511: E/AndroidRuntime(1141): at java.lang.reflect.Method.invoke(Method.java:507)
02-02 03:17:03.511: E/AndroidRuntime(1141): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-02 03:17:03.511: E/AndroidRuntime(1141): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-02 03:17:03.511: E/AndroidRuntime(1141): at dalvik.system.NativeStart.main(Native Method)