java - Android 应用程序- 没有此类方法异常

标签 java android illegalstateexception

我正在尝试创建一个涉及按下拍照按钮的 Android 应用程序。我的代码很干净,没有任何警告或错误,但是当我在模拟器上运行它时,只要我按下应用程序中的照片按钮,它就会说你的应用程序已停止。当我检查日志文件以获取它给出的解释时以下是我

如有任何帮助,我们将不胜感激。提前谢谢你。

    07-27 20:44:11.676: E/AndroidRuntime(453): FATAL EXCEPTION: main
    07-27 20:44:11.676: E/AndroidRuntime(453): java.lang.IllegalStateException: Could not find a method dispatchTakePhotoIntent(View) in the activity class com.example.mydressingroom.MainActivity for onClick handler on view class android.widget.Button
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.view.View$1.onClick(View.java:3026)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.view.View.performClick(View.java:3480)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.view.View$PerformClick.run(View.java:13983)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.os.Handler.handleCallback(Handler.java:605)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.os.Handler.dispatchMessage(Handler.java:92)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.os.Looper.loop(Looper.java:137)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.app.ActivityThread.main(ActivityThread.java:4340)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at java.lang.reflect.Method.invokeNative(Native Method)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at java.lang.reflect.Method.invoke(Method.java:511)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at dalvik.system.NativeStart.main(Native Method)
    07-27 20:44:11.676: E/AndroidRuntime(453): Caused by: java.lang.NoSuchMethodException: dispatchTakePhotoIntent [class android.view.View]
    07-27 20:44:11.676: E/AndroidRuntime(453):  at java.lang.Class.getConstructorOrMethod(Class.java:460)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at java.lang.Class.getMethod(Class.java:915)
    07-27 20:44:11.676: E/AndroidRuntime(453):  at android.view.View$1.onClick(View.java:3019)
    07-27 20:44:11.676: E/AndroidRuntime(453):  ... 11 more

这是我的代码

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.MediaStore;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    }


    /** Called when the user clicks the Photo button */
    public void dispatchTakePhotoIntent(int actionCode) {
          Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          startActivityForResult(takePhotoIntent, actionCode);
    }

}

最佳答案

错误提示:找不到方法dispatchTakePhotoIntent(View)

您使用 View 对象作为参数调用 dispatchTakePhotoIntent,而在您的代码中您定义了:

public void dispatchTakePhotoIntent(int actionCode) 

它接受一个整数作为参数。

您在代码中调用方法的方式存在问题。

关于java - Android 应用程序- 没有此类方法异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695835/

相关文章:

java - 为什么我的 ArrayList 的 ArrayList 值在设置后会变回来?

android - 强制关闭后如何获取应用程序上下文

WickeTester - 非法状态异常 : No CDI context bound to application

java - 可以在浏览器中启动 JWS 小程序而不是独立启动吗?

java - 为什么 Clojure 中的嵌套循环/递归速度很慢?

android - 使用 Android 进行热插拔调试

android - 在 4.0.4 中删除包含 videoView 的 fragment 时出错

android - 多列列表中的 nullPointerException

java - 如何保留目录路径中的最后一个斜杠?

java - 在 Android 中获取视频的精确帧