Java 将字符串从EditText解析为双精度会导致运行时错误

Java 将字符串从EditText解析为双精度会导致运行时错误,java,string,parsing,android-edittext,runtime-error,Java,String,Parsing,Android Edittext,Runtime Error,首先,我对编码完全陌生,尤其是android开发人员:-)现在我正在尝试为自己制作一个小型预算应用程序 这个想法是通过EditText接收用户输入,然后点击加号或减号按钮从余额中减去或添加给定的数字。问题是我的应用程序在按下减号按钮后崩溃。我的代码如下 //一,。取用户给定的金额并从总余额中减去 //二,。打印出新的余额 protected void decrement(View view) { EditText amount = (EditText) findViewById(R.id

首先,我对编码完全陌生,尤其是android开发人员:-)现在我正在尝试为自己制作一个小型预算应用程序

这个想法是通过EditText接收用户输入,然后点击加号或减号按钮从余额中减去或添加给定的数字。问题是我的应用程序在按下减号按钮后崩溃。我的代码如下

//一,。取用户给定的金额并从总余额中减去

//二,。打印出新的余额

protected void decrement(View view) {
    EditText amount = (EditText) findViewById(R.id.amount);
    double minus = Double.parseDouble(amount.getText().toString());
    balance -= minus;
    displayBalance();
}
//将余额打印到屏幕上

private void displayBalance() {
    TextView quantityTextView = (TextView) findViewById(R.id.balance_TextView);
    quantityTextView.setText("" + balance);
}
通过调试器和注释行,我非常确定错误来自以下行:

double减号=double.parseDouble(amount.getText().toString())

(惊喜xD)

这是日志中的运行时错误:(很抱歉造成混乱&谢谢您的帮助)

致命异常:主 进程:com.example.android.moneymama,PID:2618 java.lang.IllegalStateException:无法执行的方法 安卓:onClick 在 appcompativiewInflater$DeclaredOnClickListener.onClick(appcompativiewInflater.java:293) 在android.view.view.performClick上(view.java:6294) 在android.view.view$PerformClick.run(view.java:24770) 位于android.os.Handler.handleCallback(Handler.java:790) 位于android.os.Handler.dispatchMessage(Handler.java:99) 位于android.os.Looper.loop(Looper.java:164) 位于android.app.ActivityThread.main(ActivityThread.java:6494) 位于java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 原因:java.lang.reflect.InvocationTargetException 位于java.lang.reflect.Method.invoke(本机方法) 在 appcompativiewInflater$DeclaredOnClickListener.onClick(appcompativiewInflater.java:288) 在android.view.view.performClick上(view.java:6294) 在android.view.view$PerformClick.run(view.java:24770) 位于android.os.Handler.handleCallback(Handler.java:790) 位于android.os.Handler.dispatchMessage(Handler.java:99) 位于android.os.Looper.loop(Looper.java:164) 位于android.app.ActivityThread.main(ActivityThread.java:6494) 位于java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 原因:java.lang.NumberFormatException:对于输入字符串:“10,00” 在 sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) 位于java.lang.Double.parseDouble(Double.java:539) 在 com.example.android.moneymama.MainActivity.decrement(MainActivity.java:32) 位于java.lang.reflect.Method.invoke(本机方法) 在 appcompativiewInflater$DeclaredOnClickListener.onClick(appcompativiewInflater.java:288) 在android.view.view.performClick上(view.java:6294) 在android.view.view$PerformClick.run(view.java:24770) 位于android.os.Handler.handleCallback(Handler.java:790)