From a8ce53006c8599beb82f60ea703f2df4b1a928ab Mon Sep 17 00:00:00 2001 From: 62160052 <62160052@go.buu.ac.th> Date: Mon, 19 Sep 2022 03:34:40 +0700 Subject: [PATCH] Update Summary fragment to use view model --- .../example/cupcake/model/OrderViewModel.kt | 19 +++++++++++++++---- app/src/main/res/layout/fragment_summary.xml | 3 +++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt b/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt index d24fc98..4b8e9db 100644 --- a/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt +++ b/app/src/main/java/com/example/cupcake/model/OrderViewModel.kt @@ -8,20 +8,24 @@ import java.util.Calendar import java.util.Locale class OrderViewModel : ViewModel() { - private val _quantity = MutableLiveData<Int>(0) + private val _quantity = MutableLiveData<Int>() val quantity: LiveData<Int> = _quantity - private val _flavor = MutableLiveData<String>("") + private val _flavor = MutableLiveData<String>() val flavor: LiveData<String> = _flavor - private val _date = MutableLiveData<String>("") + private val _date = MutableLiveData<String>() val date: LiveData<String> = _date - private val _price = MutableLiveData<Double>(0.0) + private val _price = MutableLiveData<Double>() val price: LiveData<Double> = _price val dateOptions = getPickupOptions() + init { + resetOrder() + } + private fun getPickupOptions(): List<String> { val options = mutableListOf<String>() val formatter = SimpleDateFormat("E MMM d", Locale.getDefault()) @@ -34,6 +38,13 @@ class OrderViewModel : ViewModel() { return options } + fun resetOrder() { + _quantity.value = 0 + _flavor.value = "" + _date.value = dateOptions[0] + _price.value = 0.0 + } + fun setQuantity(numberCupcakes: Int) { _quantity.value = numberCupcakes } diff --git a/app/src/main/res/layout/fragment_summary.xml b/app/src/main/res/layout/fragment_summary.xml index bdd8bee..e1455ec 100644 --- a/app/src/main/res/layout/fragment_summary.xml +++ b/app/src/main/res/layout/fragment_summary.xml @@ -58,6 +58,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/order_summary_margin" + android:text="@{viewModel.quantity.toString()}" tools:text="6 cupcakes" /> <View @@ -81,6 +82,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/order_summary_margin" + android:text="@{viewModel.flavor}" tools:text="Chocolate" /> <View @@ -104,6 +106,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="@dimen/order_summary_margin" + android:text="@{viewModel.date}" tools:text="Sunday" /> <View -- GitLab