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()的替代选项