前提・実現したいこと
ここに質問の内容を詳しく書いてください。
AndroidStudioでKotlinを使用して簡単なクイズアプリを作ろうとしています。
Main.activity.kt、Play.activity.kt、Result.activity.ktを作っていた際に
setContentView(R.layout.activity_main)内の「activity_main」に
エラーメッセージが発生しました。
発生している問題・エラーメッセージ
Unresolved reference
該当のソースコード
kotlin
1package com.test.puzzlegame 2 3import android.R 4import android.content.Intent 5import android.os.Bundle 6import android.support.v7.app.AppCompatActivity 7import android.view.View 8 9class MainActivity : AppCompatActivity() { 10 11 override fun onCreate(savedInstanceState: Bundle?) { 12 super.onCreate(savedInstanceState) 13 setContentView(R.layout.activity_main) 14 } 15 16 ////////////////////////////////////////////// 17 // プレイ画面表示 18 fun onStart(v: View) { 19 val intent = Intent(this, PlayActivity::class.java) 20 startActivity(intent) 21 } 22}
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
ここ(teratail)で“Unresolved reference”で検索するとかなりヒットしますが見てみましたか?
あ、検索で他の人の質問も見れるんですね
見てみます!
初心者なので深く理解はできていなのですが
app/build.gradleにapply plugin: 'kotlin-android-extensions'が無かったのですが
これが原因でしょうか?
activity_main.xmlというファイル名のレイアウトファイルは作成されていますか?R.layoutには作成したレイアウトXMLのファイル名がメンバーとなるように自動生成されるので、activity_main.xmlというファイルが存在しなければ、R.layout.activity_mainも作られません。
それから、kotlin-android-extensionsがないとのことなのですが、どうやって作成したプロジェクトなのでしょうか?プロジェクト新規作成でKotlin言語を選んだのならこのプラグインは初期状態のbuild.gradleに必ず追加されているはずです。それがないということは、言語にJavaを選択してプロジェクト作成したのに、コードはKotlinで記述しようとしているということでしょうか?(それもできなくはないが、手続きが必要)
もう一つ、このプログラムはAndroid Studio 3.4を使って作成しようとしていますか?Android Studio 3.5で作成したプロジェクトであったとしたら、違う問題が生じます。ただし、それが原因だとしたらもっと様々なエラーが出てくるはずなので、環境を確認しないと何とも言えません。
