- build.gradle에서 view binding 설정 추가
android {
...
buildFeatures {
viewBinding true
}
}
- binding 객체 lateinit으로 선언해주기
//activity.kt 안
// class안에 작성
private lateinit var binding: 액티비티이름Binding
- //onCreate() 안에 작성
override fun onCreate(savedInstanceState: Bundle?) {
...
# 자동 생성된 뷰 바인딩 클래스에서 inflate라는 메소드를 활용
# activity에서 사용할 바인딩 클래스의 인스턴스 생성
binding = ActivityMainBinding.inflate(layoutInflater)
#getRoot 메서드로 레이아웃 내부의 최상의 위치 뷰의 인스턴스를 활용하여 생성된 뷰를 activity에 표시
val view = binding.root # 루트 뷰 참조를 가지고 온다.
setContentView(view) # 루트 뷰를 전달하여 화면 상의 활성 뷰로 만든다.
...
}
- inflate : xml에 표기된 레이아웃들을 메모리에 로딩한 후 객체화 시키는 과정
binding.(xml에서 설정한 아이디) 로 layout의 변수 사용
- reference: