質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

2123閲覧

android kotlin エラー lazy .java

kasai2_s_2_s

総合スコア8

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2021/07/07 07:17

編集2021/07/07 09:07

###発生している問題
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" }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/07/07 09:46

kotlin_version はいくつでしょうか? (最新のライブラリをお使いなのに Android Studio がちょっと古い (最新版は 4.2.2) のが気になります…。)
kasai2_s_2_s

2021/07/07 16:19

お返事ありがとうございます。 kotlin_versionとはCurrent Kotlin plugin versionのことでしょうか。もしそれならば 1.4.21-release-Studio4.0-1 でした。 Android Studioのバージョンは、バージョン更新を行う度「Some conflicts were found in the installation area」というエラーが出てしまい更新できず仕舞いでして、、、 とりあえず開発できるので4.0のまま放っておいてしまっていました。
hoshi-takanori

2021/07/08 00:36

kotlin_version はプロジェクトの build.gradle の方で設定されてると思いますが、たぶん 1.4.21 ですよね。 Android Studio 4.0.2 の環境で試してみましたが、lazy も ::class.java もエラーになりませんでした。どちらも Kotlin の基本的な部分なので、そこでエラーになるのは謎ですね…。
kasai2_s_2_s

2021/07/08 15:30

いろいろ試した結果、build.gradle(:app)のdependenciesから implementation 'androidx.core:core-ktx:1.6.0' を削除した所、エラーにならなくなりました。この「androidx.core:core-ktx」は削除するとなにかまずいことはありますか?
hoshi-takanori

2021/07/08 23:45

よく分かりませんが、ビルドが通ってアプリが動くならとりあえずそれで良いのでは…。 (関係ないと思いますが、lifecycle-extensions がちょっと古いというか、lifecycle-extensions 自体が廃止されて lifecycle-viewmodel や lifecycle-livedata を直接使うことになってます。)
guest

回答1

0

自己解決

build.gradle(:app)のdependenciesから

implementation 'androidx.core:core-ktx:1.6.0'

を削除したら解決できました。なんでかは分かりませんが。

投稿2021/07/09 15:30

kasai2_s_2_s

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問