[kotlin] 코틀린 데이터 바인딩을 사용하여 이미지뷰에 이미지를 설정하는 방법

코틀린 데이터 바인딩을 사용하면 XML 레이아웃 파일과 데이터 모델을 쉽게 연결할 수 있습니다. 이미지뷰에 이미지를 설정하는 방법도 간단하게 구현할 수 있습니다.

1. 데이터 바인딩 설정

build.gradle 파일에 아래의 의존성을 추가하여 데이터 바인딩을 활성화합니다.

android {
    ...
    buildFeatures {
        dataBinding true
    }
}

dependencies {
    ...
    implementation "androidx.databinding:databinding-runtime:4.2.0"
}

2. 이미지뷰에 이미지 설정하기

XML 레이아웃 파일에서 ImageView를 선언하고 app:imageUrl 속성을 통해 이미지를 설정합니다.

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <variable
            name="viewModel"
            type="com.example.ViewModel" />
    </data>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:imageUrl="@{viewModel.imageUrl}" />
</layout>

3. ViewModel에서 이미지 URL 설정하기

ViewModel 클래스에서 이미지 URL을 설정하고 바인딩 어댑터를 사용하여 이미지를 로드합니다.

class ViewModel {
    val imageUrl = MutableLiveData<String>()

    fun loadImageUrl() {
        // 이미지 URL을 가져오는 로직을 구현
        val url = "https://example.com/image.jpg"
        imageUrl.value = url
    }
}

4. 액티비티에서 데이터 바인딩 설정

액티비티에서 데이터 바인딩을 설정하고 ViewModel을 연결합니다.

val binding = DataBindingUtil.setContentView<ActivityMainBinding>(this, R.layout.activity_main)
val viewModel = ViewModel()
binding.viewModel = viewModel

이제 코틀린 데이터 바인딩을 사용하여 이미지뷰에 이미지를 설정하는 방법을 알게 되었습니다. 데이터 바인딩을 활용하면 XML과 데이터 모델 간의 연결을 쉽게 구현할 수 있으며, 이미지뷰에도 간단하게 이미지를 설정할 수 있습니다.

참고문헌: