티스토리 뷰
Today I learned/Kotlin, Jetpack
[Jetpack] ViewBinding(Activity, Fragment, Adapter)
devhater 2023. 3. 16. 16:43ViewBinding이란?
앱을 실행하려면 뷰에 접근해서 값을 입력하고 사용자와 상호작용하는 행위가 꼭 필요하다.
Jetpack의 viewBinding은 뷰에 접근하는 것을 도와준다.
과거에는 findViewById()를 대체한 코틀린 익스텐션이라는 것을 사용했다. 하지만 코틀린 1.4.20 부터 코틀린 익스텐션에서 deprecated 처리가 되었고, 지금은 완전히 사라진 상태이다.
사용 방법
1. 먼저 build.gradle 파일을 수정해야한다. build.gradle 앱 파일에 다음과 같이 추가해준다.
buildFeatures {
viewBinding true
}
2. viewBinding은 액티비티, 프래그먼트, 어댑터에 따라 각각 사용법이 다르다.
다음은 코드이다. 레이아웃파일명Binding으로 붙여줄것을 유의해야한다.
Acitivity
val binding by lazy { ActivityMainBinding.inflate(layoutInflater) }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(binding.root)
}
onCreate()에서 setContentview를 binding.root로 수정해주어야한다.
Fragment
//onCreateView()
val binding by lazy { FragmentMainBinding.inflate(LayoutInflater.from(container?.context), container, false) }
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View? {
val binding by lazy { FragmentMainBinding.inflate(LayoutInflater.from(container?.context), container, false) }
return binding.root
}
Adapter
//onCreateViewHolder()
var binding = AdapterBinding.inflate(LayoutInflater,from(parent.context), parent, false)
3. 코드에서 binding을 불러와서 사용하면 된다.
※ 안드로이드를 아직 배우는 단계라 틀린 정보가 있을 수도 있습니다!
※ 질문/지적/수정 환영합니다!
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- 코딩테스트
- 백준 7569
- 백준 #알고리즘 풀이 #백준 1475
- 알고리즘 풀이
- 코테
- 백준 4949
- 안드로이드 스튜디오
- 알고리즘 #백준 3273 #C++
- android studio
- 백준 7576
- AAR metadata 에러
- C++ #알고리즘 #연결리스트
- C++ #알고리즘 #코딩테스트
- 백준 5430
- #include<bits/stdc++.h> # Visual studio #코딩테스트 꿀팁 #알고리즘 풀이
- Render Problem
- C++
- 백준 2178
- 백준 4179
- 백준 2164
- 백준 1697
- 백준1158
- constraint missing 오류
- 백준 1021
- 백준 3986
- 백준 2493
- 문제 유형
- 알고리즘 정리
- ViewBinding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함