【问题标题】:Android Studio Getting Error While onClickAndroid Studio 在 onClick 时出现错误
【发布时间】:2020-02-01 21:18:41
【问题描述】:
 public void Clicking(View view) {

    double one = Double.parseDouble(testtt.getText().toString());
    double two = Double.parseDouble(tessss.getText().toString());
}

已经;

  • testtt [TextView] = "0.0001974794"

  • tessss [TextView] = "0"

E/AndroidRuntime: 致命异常: main 进程:com.example.Testing_Appi,PID:2988 java.lang.IllegalStateException:无法执行 android:onClick 的方法 在 androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:402) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 引起:java.lang.reflect.InvocationTargetException 在 java.lang.reflect.Method.invoke(本机方法) 在 androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 引起:java.lang.NumberFormatException:对于输入字符串:“0.0001974794” 在 java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1306) 在 java.lang.Double.parseDouble(Double.java:547) 在 com.example.Testing_Appi.MainActivity.testor(MainActivity.java:153) 在 java.lang.reflect.Method.invoke(本机方法) 在 androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397) 在 android.view.View.performClick(View.java:5610) 在 android.view.View$PerformClick.run(View.java:22265) 在 android.os.Handler.handleCallback(Handler.java:751) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

我找不到错误在哪里!

【问题讨论】:

  • 异常告诉你错误的原因:parseDouble 调用之一有一个空字符串参数。
  • 但 TextView 的值已经是“0.0001974794”,我只想检查 TextView1 是否大于 TextView2,但不知道问题出在哪里
  • 抱歉,我看错了异常信息。它告诉您异常是由以下原因引起的:java.lang.NumberFormatException: For input string: "0.0001974794"。所以问题出在那个值上。

标签: android textview


【解决方案1】:

示例:通过 id 和 view 查找视图

EditText testttET = view.findViewById(R.id.testtt);
String text = testttET.getText().toString(); 

检查您的文本是否为空

if(!text.equals("")){
    double value = Double.parseDouble(text);
}

【讨论】:

  • 非常感谢你,我很想检查是否不为空。
猜你喜欢
  • 2023-03-14
  • 2012-09-16
  • 2016-01-23
  • 2013-07-28
  • 2018-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多