Android Studio 在 onClick 时出现错误

Posted

技术标签:

【中文标题】Android Studio 在 onClick 时出现错误【英文标题】:Android Studio Getting Error While 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"。所以问题出在那个值上。 【参考方案1】:

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

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

检查您的文本是否为空

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

【讨论】:

非常感谢你,我很想检查是否不为空。

以上是关于Android Studio 在 onClick 时出现错误的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio的Button控件的onClick属性setOnClickListener函数与OnClickListener接口用法

用户登录但未登录时的Android Studio按钮onclick重定向条件

Android Studio:如何将列表视图中的项目添加到列表视图 onClick

Android Studio中单选按钮的onClick()的替代选项

Android Studio:如果您设置项目的背景颜色,ListView OnClick 动画将不起作用

eclipse再见,android studio 新手新手教程基本设置