반응형
abstract class BaseActivity<VM : BaseViewModel, VB : ViewBinding> : AppCompatActivity() {
abstract val viewModel: VM
protected lateinit var binding: VB
abstract fun getViewBinding(): VB
private lateinit var fetchJob: Job
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
binding = getViewBinding()
setContentView(binding.root)
fetchJob = viewModel.fetchData()
observeData()
}
override fun finish() {
super.finish()
// this.overridePendingTransition(R.anim.fade_in, R.anim.fade_out)
}
abstract fun observeData()
override fun onDestroy() {
if (fetchJob.isActive) {
fetchJob.cancel()
}
super.onDestroy()
}
}
koin, viewmodel, 을 함께 사용 중
'Kotlin programming > 코틀린(kotlin)' 카테고리의 다른 글
[kotlin] 이미지 불러오기 실패 (EACCES (Permission denied)) (0) | 2022.03.28 |
---|---|
[Android]릴리즈 모드에서 디버그 하기(Debug in release mode.) (0) | 2022.02.23 |
[Android studio] 에뮬레이터 tool window에서 실행 하기 (0) | 2022.02.18 |
[Kotlin] txt 파일 생성하고 데이터 내보내기(export txt file) (0) | 2022.02.15 |
[Kotlin][Naver login 구현] 앱이 설치돼있지 않을 때 로그인 시도 시 발생하는 에러 (0) | 2022.01.28 |