###発生している問題
Uduntu16.04
AndroidStudio4.0
ソースコードの 「lazy」と「MainViewModel::class.java」の「.java」の部分が赤字になり、エラーになってしまいます。このエラーを解決したいです。
エラー内容
Unresolved reference: lazy Unresolved reference: java
###試したこと
https://stackoverflow.com/questions/59814070/android-studio-unresolved-reference-for-lazy-kotlin
にて同じような症状の解決法が書いてあったので試しましたが、解決しませんでした。
###該当ソースコード
kotlin
1package com.e.mvvm_sample 2 3import android.os.Bundle 4import android.view.LayoutInflater 5import android.view.View 6import android.view.ViewGroup 7import androidx.databinding.DataBindingUtil 8import androidx.fragment.app.Fragment 9import androidx.lifecycle.Observer 10import androidx.lifecycle.ViewModelProviders 11import com.e.mvvm_sample.databinding.FragmentMainBindingBinding 12 13 14class MainFragment : Fragment() { 15 private lateinit var binding: FragmentMainBindingBinding 16 private val viewModel: MainViewModel by lazy { //ここのlazyの部分と 17 ViewModelProviders.of(this).get(MainViewModel::class.java) //ここの「.java」の部分がエラーになる 18 } 19 20 override fun onCreate(savedInstanceState: Bundle?) { 21 super.onCreate(savedInstanceState) 22 23 viewModel.liveDataText.observe(this, Observer { 24 binding.countText.text = "文字数:" + it.length.toString() 25 }) 26 } 27 28 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { 29 binding = DataBindingUtil.inflate(inflater, R.layout.fragment_main_binding, container, false) 30 binding.viewModel = viewModel 31 viewModel.fetchText() 32 return binding.root 33 } 34}
//build.gradle(:app) dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.appcompat:appcompat:1.3.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.4' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' def archComponents_version = '2.0.0-beta01' implementation "androidx.lifecycle:lifecycle-extensions:$archComponents_version" kapt "androidx.lifecycle:lifecycle-compiler:$archComponents_version" }
回答1件
あなたの回答
tips
プレビュー