Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

끄적끄적

[Android] View Binding을 사용할 때 실수하기 쉬운 것! 본문

Android

[Android] View Binding을 사용할 때 실수하기 쉬운 것!

kimii 2021. 11. 25. 21:45

뷰 바인딩은 사용법은 널리 알려졌을 것이라 생각한다.

하지만, 생각을 잘 해보지 못했던 부분에 대해서 기록에 남겨보고자 한다.

JetPack Compose가 정식으로 소개되었지만, 현재까지는 대부분 앱을 제작할 때 xml을 통하여 제작을 하는 경우가 많을 것이라 생각된다.

그 중에서도, <include>를 사용하여 레이아웃을 재사용 할 때는 어떻게 사용해야할지 잘 모르는 경우가 있었다.

 

 

ViewHolder를 생성할 때 처럼, parent를 지정하여 bind 시켜주는 줄 알고

IncludeLayoutBinding.inflate(context, parent, false)

와 같은 방법으로 선언을 하고 사용을 하려고 하니까 컴파일은 잘 되었지만, 올바르게 동작하지 않았다.

 

 

뷰 바인딩으로 생성된 코드 코드에서는 include 한 레이아웃은 다음과 같이 생성되었다.

public final class ActivityParentBinding implements ViewBinding {
    @NonNull
    public final IncludeLayoutBinding xmlId; // xml에서 지정해준 id
...

 

 

따라서 include한 레이아웃을 뷰 바인딩으로 사용하기 위해서는

 

<include>에 id를 지정해줘야 한다.
재사용할 뷰 바인딩을 부모 바인딩에서 가져와야 한다.

 

두가지 조건을 만족해야한다.

 

 

 

틀린 부분이 있으면 댓글로 적어주면 감사하겠습니다.

'Android' 카테고리의 다른 글

[안드로이드] kapt  (0) 2021.09.06
Comments