TIL) 0911

Hanseul Lee·2022년 9월 11일
0

TIL

목록 보기
9/23

LiveData 활용해서 layout.xml에서 if 사용하기

layout xml에서 if문을 사용하려면 LiveData와 람다식을 알고 있어야 한다.

우선은 livedata를 준비하자.

<data>
        <variable
            name="viewmodel"
            type="com.hs.newsapp.ViewModel" />
    </data>

ImageView를 클릭하면 viewmodel 안 데이터의 상태에 따라 호출하는 함수를 다르게 하고 싶을 때 다음과 같이 활용한다.

<ImageView
                android:id="@+id/detail_article_save_icon"
                ...
                android:onClick="@{() -> viewmodel.article.savedStatus == null ? viewmodel.insertDataToDatabase() : viewmodel.deleteDataFromDatabase()}"
                savedStatus="@{viewmodel.article.savedStatus}"
                ... />

viewmodel.article.savedStatus == null

  • true → 데이터 삽입 메서드insertDataToDatabase 호출
  • false → 데이터 삭제 메서드deleteDataFromDatabase 호출

0개의 댓글