[오류처리] Activity생명주기와 Nullpoint 오류

SHY(code poet)·2024년 4월 4일
0

[문제상황]

class MainActivity() {
	val a = findViewById(R,id.btn)
    
    fun onCreat() {
    a.setOnclick
    }
}

이렇게 하면 Nullpoint 오류가 난다. 기본적으로 xml의 객체화는 onCreate()가 호출이 되면서 이루어진다.
하지만 onCreate() 이전에 선언을 하게 되버리면 레이아웃이 객체화가 되기 전에 레이아웃을 참조하고 있었기 때문에 null 값을 참조하게 된다.


[해결]
val a 를 onCreat 안에 쓰던가, 아니면 lateinit으로 지연초기화.

class MainActivity() {
	lateinit val a:<Button>
    
    fun onCreat() {
    a = findVIew~
    }
}
profile
진정한 개발자는 코드를 두려워하지 않는다. 오히려 코드가 그를 두려워한다.

0개의 댓글