findViewById 대체 가능한 기능이다. 코드 작성을 훨씬 편리하게 만들어주고 뷰와의 상호작용을 쉽게 만들어준다.
step 1.
build.gradle 파일에 아래 코드 추가
android {
...
buildFeatures {
viewBinding = true
}
}
몇몇의 레이아웃 파일을 바인딩하고 싶지 않을 떄에는 아래 코드를 레이아웃 파일에 추가해주면 된다.
<LinearLayout
...
tools:viewBindingIgnore="true" >
...
</LinearLayout>
액티비티 레이아웃 페이지 이름이 activity_sign_in.xml 이라면 이 이름을 Pascal Case로 바꾼 ActivitySignInBinding클래스를 만든다.
클래스에서 코드를 아래와 같이 적어준다.
private lateinit var binding: ResultProfileBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ResultProfileBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
}
이제 버튼을 눌렀을 때 아래와 같이 사용이 가능해진다.
binding.name.text = viewModel.name
binding.button.setOnClickListener { viewModel.userClicked() }
'Android (Kotlin) > kotlin 문법' 카테고리의 다른 글
Activity 활동 수명 주기 (1) | 2023.12.22 |
---|---|
[Android Kotlin] Focusable vs Clickable vs Enable (0) | 2023.12.20 |
정규표현식 코틀린 사용성 Regular Expression (Regex) (1) | 2023.12.19 |
EditText Input Type 모두 모음 (0) | 2023.12.19 |
동적 메모리 할당 (Dynamic Allocation) | 스택(Stack) vs 힙(Heap) (0) | 2023.12.12 |