From eba1a2de3e0ece8cc278886d2fe19ff11c6fc365 Mon Sep 17 00:00:00 2001 From: 62160052 <62160052@go.buu.ac.th> Date: Mon, 19 Sep 2022 04:29:36 +0700 Subject: [PATCH] Setup click listeners using listener binding --- app/src/main/java/com/example/cupcake/FlavorFragment.kt | 4 ++-- app/src/main/java/com/example/cupcake/PickupFragment.kt | 4 ++-- app/src/main/java/com/example/cupcake/StartFragment.kt | 8 +------- app/src/main/java/com/example/cupcake/SummaryFragment.kt | 4 ++-- app/src/main/res/layout/fragment_flavor.xml | 6 ++++++ app/src/main/res/layout/fragment_pickup.xml | 5 +++++ app/src/main/res/layout/fragment_start.xml | 9 +++++++++ app/src/main/res/layout/fragment_summary.xml | 5 +++++ 8 files changed, 32 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/example/cupcake/FlavorFragment.kt b/app/src/main/java/com/example/cupcake/FlavorFragment.kt index cae160c..9281484 100644 --- a/app/src/main/java/com/example/cupcake/FlavorFragment.kt +++ b/app/src/main/java/com/example/cupcake/FlavorFragment.kt @@ -48,9 +48,9 @@ class FlavorFragment : Fragment() { super.onViewCreated(view, savedInstanceState) binding?.apply { - viewModel = sharedViewModel lifecycleOwner = viewLifecycleOwner - nextButton.setOnClickListener { goToNextScreen() } + viewModel = sharedViewModel + flavorFragment = this@FlavorFragment } } diff --git a/app/src/main/java/com/example/cupcake/PickupFragment.kt b/app/src/main/java/com/example/cupcake/PickupFragment.kt index 799116c..0a7f09f 100644 --- a/app/src/main/java/com/example/cupcake/PickupFragment.kt +++ b/app/src/main/java/com/example/cupcake/PickupFragment.kt @@ -48,9 +48,9 @@ class PickupFragment : Fragment() { super.onViewCreated(view, savedInstanceState) binding?.apply { - viewModel = sharedViewModel lifecycleOwner = viewLifecycleOwner - nextButton.setOnClickListener { goToNextScreen() } + viewModel = sharedViewModel + pickupFragment = this@PickupFragment } } diff --git a/app/src/main/java/com/example/cupcake/StartFragment.kt b/app/src/main/java/com/example/cupcake/StartFragment.kt index 5c9e353..fdb0c10 100644 --- a/app/src/main/java/com/example/cupcake/StartFragment.kt +++ b/app/src/main/java/com/example/cupcake/StartFragment.kt @@ -46,13 +46,7 @@ class StartFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - - binding?.apply { - // Set up the button click listeners - orderOneCupcake.setOnClickListener { orderCupcake(1) } - orderSixCupcakes.setOnClickListener { orderCupcake(6) } - orderTwelveCupcakes.setOnClickListener { orderCupcake(12) } - } + binding?.startFragment = this } /** diff --git a/app/src/main/java/com/example/cupcake/SummaryFragment.kt b/app/src/main/java/com/example/cupcake/SummaryFragment.kt index 9a9affb..dcdf4a7 100644 --- a/app/src/main/java/com/example/cupcake/SummaryFragment.kt +++ b/app/src/main/java/com/example/cupcake/SummaryFragment.kt @@ -49,9 +49,9 @@ class SummaryFragment : Fragment() { super.onViewCreated(view, savedInstanceState) binding?.apply { - viewModel = sharedViewModel lifecycleOwner = viewLifecycleOwner - sendButton.setOnClickListener { sendOrder() } + viewModel = sharedViewModel + summaryFragment = this@SummaryFragment } } diff --git a/app/src/main/res/layout/fragment_flavor.xml b/app/src/main/res/layout/fragment_flavor.xml index c5e6d4c..1f5abdd 100644 --- a/app/src/main/res/layout/fragment_flavor.xml +++ b/app/src/main/res/layout/fragment_flavor.xml @@ -24,6 +24,11 @@ <variable name="viewModel" type="com.example.cupcake.model.OrderViewModel" /> + + <variable + name="flavorFragment" + type="com.example.cupcake.FlavorFragment" /> + </data> <ScrollView @@ -107,6 +112,7 @@ <Button android:id="@+id/next_button" + android:onClick="@{() -> flavorFragment.goToNextScreen()}" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/side_margin" diff --git a/app/src/main/res/layout/fragment_pickup.xml b/app/src/main/res/layout/fragment_pickup.xml index bc7cd44..20459e9 100644 --- a/app/src/main/res/layout/fragment_pickup.xml +++ b/app/src/main/res/layout/fragment_pickup.xml @@ -24,6 +24,10 @@ <variable name="viewModel" type="com.example.cupcake.model.OrderViewModel" /> + + <variable + name="pickupFragment" + type="com.example.cupcake.PickupFragment" /> </data> <ScrollView @@ -104,6 +108,7 @@ <Button android:id="@+id/next_button" + android:onClick="@{() -> pickupFragment.goToNextScreen()}" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/side_margin" diff --git a/app/src/main/res/layout/fragment_start.xml b/app/src/main/res/layout/fragment_start.xml index 25b11c9..d584155 100644 --- a/app/src/main/res/layout/fragment_start.xml +++ b/app/src/main/res/layout/fragment_start.xml @@ -20,6 +20,12 @@ xmlns:tools="http://schemas.android.com/tools" tools:context=".StartFragment"> + <data> + <variable + name="startFragment" + type="com.example.cupcake.StartFragment" /> + </data> + <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> @@ -50,6 +56,7 @@ <Button android:id="@+id/order_one_cupcake" + android:onClick="@{() -> startFragment.orderCupcake(1)}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" @@ -59,6 +66,7 @@ <Button android:id="@+id/order_six_cupcakes" + android:onClick="@{() -> startFragment.orderCupcake(6)}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" @@ -68,6 +76,7 @@ <Button android:id="@+id/order_twelve_cupcakes" + android:onClick="@{() -> startFragment.orderCupcake(12)}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" diff --git a/app/src/main/res/layout/fragment_summary.xml b/app/src/main/res/layout/fragment_summary.xml index c9702b5..720a3d0 100644 --- a/app/src/main/res/layout/fragment_summary.xml +++ b/app/src/main/res/layout/fragment_summary.xml @@ -23,6 +23,10 @@ <variable name="viewModel" type="com.example.cupcake.model.OrderViewModel" /> + + <variable + name="summaryFragment" + type="com.example.cupcake.SummaryFragment" /> </data> <ScrollView @@ -131,6 +135,7 @@ <Button android:id="@+id/send_button" + android:onClick="@{() -> summaryFragment.sendOrder()}" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/side_margin" -- GitLab