我想創建一個涉及按下一個按鈕拍攝照片的Android應用程序。我的代碼是乾淨的,沒有任何警告或錯誤,但是當我在模擬器上運行它時,只要按下應用程序中的照片按鈕,它就會說您的應用程序已停止。當我檢查日誌文件以獲取解釋時,我以下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);
}
}
感謝您的回覆,這確實解釋了什麼是問題,但是,我是新來的android請你解釋如何發送一個整數而不是視圖dispatchTakePhotoIntent(int actionCode)?再次感謝提前。 – 2012-07-27 22:22:48
嘿,我一直在線,一直在給你發消息,但你退出了。我仍然在線 – 2012-08-22 18:13:25
我其實看到這個答案是最直接的。我有同樣的問題,並意識到這是因爲我錯過了我的View元素被傳遞給一個無參數函數。 Upvoted。 – dudewad 2012-10-12 20:23:31