Java 应用程序返回错误:无法执行方法:onClick
我是Android studio的新手,正在进行我的第一个主要项目,这是一个计算分数和整数的计算器。Java 应用程序返回错误:无法执行方法:onClick,java,android,Java,Android,我是Android studio的新手,正在进行我的第一个主要项目,这是一个计算分数和整数的计算器。 我现在只编写了用于添加数字的函数,以便测试它是否按预期运行,稍后我将添加其他方法。 但是,当我在(外部)平板电脑上运行应用程序时,会出现以下错误: 2020-06-08 21:45:14.250 11504-11504/com.example.fraccalcapp E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.fra
我现在只编写了用于添加数字的函数,以便测试它是否按预期运行,稍后我将添加其他方法。
但是,当我在(外部)平板电脑上运行应用程序时,会出现以下错误:
2020-06-08 21:45:14.250 11504-11504/com.example.fraccalcapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.fraccalcapp, PID: 11504
java.lang.IllegalStateException: Could not execute method for android:onClick
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:402)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24774)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6518)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24774)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6518)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:339)
at android.widget.TextView.setText(TextView.java:5496)
at com.example.fraccalcapp.MainActivity.setResult(MainActivity.java:110)
at com.example.fraccalcapp.MainActivity.addNumbers(MainActivity.java:35)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24774)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6518)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
以下是我的MainActivity.java(这是我应用程序中唯一的活动)代码:
我不能从这个错误中理解任何意义,这就是为什么我求助于你来帮助我。如果代码中有一些愚蠢的错误,请原谅我
编辑:使用Swayangjit的解决方案使应用程序停止给出此错误,但它仍然没有在textView中显示文本
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1
at android.content.res.Resources.getText(Resources.java:339)
at android.widget.TextView.setText(TextView.java:5496)
at com.example.fraccalcapp.MainActivity.setResult(MainActivity.java:110)
at com.example.fraccalcapp.MainActivity.addNumbers(MainActivity.java:35)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:397)
at android.view.View.performClick(View.java:6294)
at android.view.View$PerformClick.run(View.java:24774)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6518)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
注意堆栈跟踪的这些行。它表示应用程序无法定位您试图作为一行中的参数传递的资源
com.example.fraccalcapp.MainActivity.setResult(MainActivity.java:110)
仔细检查此代码和您在此处使用的资源id您的问题是,您在代码中的任何地方都将整数值设置为TextView,如下所示
denominator.setText(result[1]);
使用下列方法代替上述方法
denominator.setText(String.valuOf(result[1]));
仅将字符串设置为文本视图通过检查资源我无法理解。setResult是我应用程序中的一个方法。那部分有什么问题吗?@DeathVenom你的110行有什么问题?
denominator.setText(String.valuOf(result[1]));