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
insertDataToDatabase
호출deleteDataFromDatabase
호출