From acb211c219e2953178e8e74162feaf061213a3a0 Mon Sep 17 00:00:00 2001 From: Christopher Date: Tue, 4 Jun 2024 00:21:12 +0200 Subject: [PATCH] added an argument to the ShoppinglistShoplistFragment navigation --- app/build.gradle.kts | 1 + .../store/dataclass/ShoppinglistShoplistItem.kt | 2 +- .../shoppinglist/ShoppinglistShoplistFragment.kt | 6 ++++-- app/src/main/res/navigation/app_navigation.xml | 6 +++++- build.gradle.kts | 8 ++++++++ 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 4f79d84..f802f29 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -4,6 +4,7 @@ import java.util.Properties plugins { id("com.android.application") id("org.jetbrains.kotlin.android") + id("androidx.navigation.safeargs") } val mqttProperties = Properties() diff --git a/app/src/main/java/de/chrissthecoder/store/dataclass/ShoppinglistShoplistItem.kt b/app/src/main/java/de/chrissthecoder/store/dataclass/ShoppinglistShoplistItem.kt index 0693618..3fc25ce 100644 --- a/app/src/main/java/de/chrissthecoder/store/dataclass/ShoppinglistShoplistItem.kt +++ b/app/src/main/java/de/chrissthecoder/store/dataclass/ShoppinglistShoplistItem.kt @@ -1,3 +1,3 @@ package de.chrissthecoder.store.dataclass -data class ShoppinglistShoplistItem(val shoplabel: String, val iconID: Int, val shoppinglistCount: Int) \ No newline at end of file +data class ShoppinglistShoplistItem(val shopID: Int, val shoplabel: String, val iconID: Int, val shoppinglistCount: Int) \ No newline at end of file diff --git a/app/src/main/java/de/chrissthecoder/store/ui/dashboard/tabfragment/shoppinglist/ShoppinglistShoplistFragment.kt b/app/src/main/java/de/chrissthecoder/store/ui/dashboard/tabfragment/shoppinglist/ShoppinglistShoplistFragment.kt index fbfa291..193d463 100644 --- a/app/src/main/java/de/chrissthecoder/store/ui/dashboard/tabfragment/shoppinglist/ShoppinglistShoplistFragment.kt +++ b/app/src/main/java/de/chrissthecoder/store/ui/dashboard/tabfragment/shoppinglist/ShoppinglistShoplistFragment.kt @@ -11,6 +11,7 @@ import de.chrissthecoder.store.adapter.ShoppinglistShoplistAdapter import de.chrissthecoder.store.databinding.FragmentShoppinglistShoplistBinding import de.chrissthecoder.store.dataclass.ShoppinglistShoplistItem import de.chrissthecoder.store.interfaces.ShoppinglistShoplistItemClickListener +import de.chrissthecoder.store.ui.dashboard.DashboardFragmentDirections /** * A [Fragment] subclass to list all shops that contains assigned shoppinglists. @@ -26,7 +27,7 @@ class ShoppinglistShoplistFragment : Fragment(), ShoppinglistShoplistItemClickLi _binding = FragmentShoppinglistShoplistBinding.inflate(inflater, container, false) val shoplist = ArrayList() - shoplist.add(ShoppinglistShoplistItem("Edeka", 0, 3)) + shoplist.add(ShoppinglistShoplistItem(1,"Edeka", 0, 3)) val shoplistRecyclerView = binding.shoplist adapter = ShoppinglistShoplistAdapter(shoplist, this) @@ -36,6 +37,7 @@ class ShoppinglistShoplistFragment : Fragment(), ShoppinglistShoplistItemClickLi } override fun onClick(shopitem: ShoppinglistShoplistItem) { - findNavController().navigate(R.id.action_nav_dashboard_to_shoppinglistLists) + val direction = DashboardFragmentDirections.actionNavDashboardToShoppinglistLists(shopitem.shopID) + findNavController().navigate(direction) } } \ No newline at end of file diff --git a/app/src/main/res/navigation/app_navigation.xml b/app/src/main/res/navigation/app_navigation.xml index 7522a57..4c4e639 100644 --- a/app/src/main/res/navigation/app_navigation.xml +++ b/app/src/main/res/navigation/app_navigation.xml @@ -31,5 +31,9 @@ android:id="@+id/shoppinglistLists" android:name="de.chrissthecoder.store.ui.dashboard.tabfragment.shoppinglist.ShoppinglistListsFragment" android:label="@string/nav_shoppinglist" - tools:layout="@layout/fragment_shoppinglist_lists" /> + tools:layout="@layout/fragment_shoppinglist_lists" > + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 31ed43c..6ab23fa 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,12 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + dependencies { + val nav_version = "2.7.7" + classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version") + } +} + plugins { id("com.android.application") version "8.3.0" apply false id("org.jetbrains.kotlin.android") version "1.9.22" apply false