본문 바로가기

Android/Jetpack, Clean Architecture

[Android / Kotlin] DataBinding을 사용해 뷰와 데이터를 연결해주기

뷰를 데이터를 연결하는 과정

1. 데이터 클래스를 만든다.

data class MyName(var name: String = "", var nickname: String = "")

2. 레이아웃 태그 안에 data 태그를 만들고, 을 정의한다.

<data>
    <variable
        name="myName"
        type="co.kr.aboutme.MyName" />
</data>

name은 데이터를 layout xml 파일에서 view에 연결할 때 사용된다.

type은 1번에서 만든 데이터 클래스를 사용한다는 의미이다.

3. MainActivity에서 data class의 객체를 만든다.

  private val myName: MyName = MyName("Seung")

4. 바인딩 오브젝트에 1번에서 만든 data class의 객체로 설정한다.

binding.myName = myName

5. XML 파일에서 뷰의 텍스트를 에서 정의한 name을 사용해 설정한다.'.'을 사용해 데이터 클래스 안의 데이터에 접근한다.

  <TextView>
android:text="@={myName.name}"

참고 : https://codelabs.developers.google.com/android-kotlin-fundamentals/