250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 막내의막무가내 SQL
- flutter network call
- 프로그래머스 알고리즘
- 프래그먼트
- 막내의 막무가내 알고리즘
- 막내의막무가내 코틀린
- 안드로이드 sunflower
- 주엽역 생활맥주
- 주택가 잠실새내
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 프로그래밍
- 막내의막무가내
- 막무가내
- 막내의막무가내 안드로이드
- 막내의막무가내 알고리즘
- 막내의막무가내 목표 및 회고
- 막내의막무가내 안드로이드 코틀린
- 안드로이드 Sunflower 스터디
- 안드로이드
- 부스트코스에이스
- 부스트코스
- 막내의 막무가내
- 막내의막무가내 rxjava
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 플러터
- Fragment
- 막내의막무가내 일상
- 막내의막무가내 코틀린 안드로이드
- 2022년 6월 일상
- 막내의막무가내 플러터 flutter
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] 에러 해결 error: cannot find symbolpublic final class SignUpFragment extends BaseFragment<com.mtjin.bungsegwon.databinding.FragmentSignUpBinding> { symbol: class BaseFragment 본문
안드로이드/코틀린 & 아키텍처 & Recent
[안드로이드] 에러 해결 error: cannot find symbolpublic final class SignUpFragment extends BaseFragment<com.mtjin.bungsegwon.databinding.FragmentSignUpBinding> { symbol: class BaseFragment
막무가내막내 2021. 11. 27. 19:00728x90
[에러 사항]
안드로이드 런타임때
error: cannot find symbolpublic final class SignUpFragment extends BaseFragment<com.mtjin.bungsegwon.databinding.FragmentSignUpBinding> { 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\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\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<com.mtjin.bungsegwon.databinding.FragmentSignUpBinding> {
@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<B : ViewDataBinding>(
@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가 잘못되어 생긴 문제였습니다.
경로에 맞게 추가해주었더니 해결되었습니다.
댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!
728x90
'안드로이드 > 코틀린 & 아키텍처 & Recent' 카테고리의 다른 글
Comments