前提
写真を撮影し、その写真を利用するようなAndroidアプリを作成したかったので、その為の勉強としてこのサイトを参考にAndroidStudioでAndroidアプリを作成していました。
しかし、サムネイルを取得するにある以下のコードを貼り付けた所、override
とonActivityResult
に赤波線が表示されます。
Kotlin
1 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { 2 if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 3 val imageBitmap = data.extras.get("data") as Bitmap 4 imageView.setImageBitmap(imageBitmap) 5 } 6 }
どのように解決したらいいのか分からず、質問させていただきました。
赤波線のメッセージ
override
→ "onActivityResult" overrides nothing
onActivityResult
→ Overriding method should call super onActivityResult
Inspection into:Some methods, such as view#onDetachedFromwindow, require that you also call the super implementation as part of your method
Issue id: Missing Super Call
試した事
このサイトを参考にコメントが付いている一行を増やしてみました。
Kotlin
1 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) { 2 //下の一行を追加 3 super.onActivityResult(requestCode, resultCode, intent); 4 if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) { 5 val imageBitmap = data.extras?.get("data") as Bitmap 6 imageView.setImageBitmap(imageBitmap) 7 } 8 }
結果:エラーメッセージが
Accidental override: The following declarations have the same JVM signature (onActivityresult IILandroid/content/intent):V):
- public open fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Unit defined in com.example.cameratest.MainActivity
- protected/protected and package/open fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Unut defined in com.example.cameratest.MainActivity
に変化しました。
環境
Android Studio 3.5.1
Build #AI-191.8026.42.35.5900203, built on September 26, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/25 13:16