on
[안드로이드] 에러 해결 error: cannot find symbolpublic final class...
[안드로이드] 에러 해결 error: cannot find symbolpublic final class...
300x250
SMALL
[에러 사항]
안드로이드 런타임때
error: cannot find symbolpublic final class SignUpFragment extends BaseFragment { symbol: class BaseFragment
라는 에러가 발생했습니다.
[에러 원인]
package com.mtjin.bungsegwon.views.signup; import java.lang.System; @kotlin.Metadata(mv = {1, 4, 1}, bv = {1, 0, 3}, k = 1, d1 = {"\u0000\u0016
\u0002\u0018\u0002
\u0002\u0018\u0002
\u0002\u0018\u0002
\u0002\b\u0002
\u0002\u0010\u0002
\u0000\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u0001B\u0005\u00a2\u0006\u0002\u0010\u0003J\b\u0010\u0004\u001a\u00020\u0005H\u0016\u00a8\u0006\u0006"}, d2 = {"Lcom/mtjin/bungsegwon/views/signup/SignUpFragment;", "LBaseFragment;", "Lcom/mtjin/bungsegwon/databinding/FragmentSignUpBinding;", "()V", "init", "", "app_debug"}) public final class SignUpFragment extends BaseFragment { @java.lang.Override() public void init() { } public SignUpFragment() { super(0); } }
에러로그를 보면 LoginFrament 에서 에러났고
cannot find symbol class BaseFragment
로 BaseFragment를 못찾는 문제라는 것을 알 수 있습니다.
추가로
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
에러도 추가로 발생한 것도 볼 수 있습니다.
[에러 해결]
BaseFragment를 못찾는 문제 같으므로 BaseFragment를 들여다보았습니다.
import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Toast import androidx.annotation.LayoutRes import androidx.databinding.DataBindingUtil import androidx.databinding.ViewDataBinding import androidx.fragment.app.Fragment import io.reactivex.rxjava3.disposables.CompositeDisposable abstract class BaseFragment( @LayoutRes val layoutId: Int ) : Fragment() { lateinit var binding: B protected lateinit var thisContext: Context protected val compositeDisposable = CompositeDisposable() override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { binding = DataBindingUtil.inflate(inflater, layoutId, container, false) thisContext = inflater.context return binding.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding.lifecycleOwner = this init() } abstract fun init() override fun onDestroy() { super.onDestroy() compositeDisposable.dispose() } protected fun showToast(msg: String) = Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() }
가장 상단에 Pacakage가 추가되어 있지 않아서 경로를 인지하지 못하여 SignUpFragment에서 import가 잘못되어 생긴 문제였습니다.
경로에 맞게 추가해주었더니 해결되었습니다.
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!
300x250
LIST
from http://youngest-programming.tistory.com/646 by ccl(S) rewrite - 2021-11-28 03:02:27