diff --git a/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt b/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt index cbe17b5..49a673c 100644 --- a/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt +++ b/app/src/main/java/app/nexd/android/ui/common/helprequest/HelpRequestCreateArticleBinder.kt @@ -19,7 +19,8 @@ import mva2.extension.DBItemBinder internal typealias ArticleViewModelBinder = DBItemBinder -class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) : ArticleViewModelBinder() { +class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) : + ArticleViewModelBinder() { data class ArticleViewModel( val article: MutableLiveData, @@ -85,10 +86,14 @@ class HelpRequestCreateArticleBinder(private val lifecycleOwner: LifecycleOwner) val adapter = binding.recyclerviewNewArticleUnits.adapter as MultiViewAdapter adapter.removeAllSections() + adapter.registerItemBinders( UnitViewBinder( lifecycleOwner, - viewModel.selectedUnit)) + viewModel.selectedUnit, + viewModel::toggleUnitsVisibility + ) + ) with(ListSection()) { adapter.addSection(this) diff --git a/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt b/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt index cc20751..a86b007 100644 --- a/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt +++ b/app/src/main/java/app/nexd/android/ui/common/helprequest/UnitViewBinder.kt @@ -7,10 +7,12 @@ import androidx.lifecycle.MutableLiveData import app.nexd.android.api.model.Unit import app.nexd.android.databinding.ViewChipArticleUnitBinding import mva2.extension.DBItemBinder +import kotlin.reflect.KFunction0 class UnitViewBinder( private val lifecycleOwner: LifecycleOwner, - private val selectedUnit: MutableLiveData + private val selectedUnit: MutableLiveData, + private val toggleVisibilityFunction: KFunction0 ) : DBItemBinder() { override fun canBindData(item: Any?): Boolean { @@ -30,6 +32,7 @@ class UnitViewBinder( binding.root.setOnClickListener { selectedUnit.value = unit + toggleVisibilityFunction() } binding.articleUnitName.isSelected = true