From 6743e9c7aa096bf2857a8158f5596bf1a08c592a Mon Sep 17 00:00:00 2001 From: LilleBRG Date: Tue, 29 Apr 2025 09:56:44 +0200 Subject: [PATCH] multiple ingredient rows can now be added --- .../mercantec/easyeat/CreateDishActivity.kt | 37 ++++++++++++++----- .../res/layout/activity_create_dish_form.xml | 17 ++++----- 2 files changed, 34 insertions(+), 20 deletions(-) diff --git a/app/app/src/main/java/tech/mercantec/easyeat/CreateDishActivity.kt b/app/app/src/main/java/tech/mercantec/easyeat/CreateDishActivity.kt index 21e10ac..7485b2b 100644 --- a/app/app/src/main/java/tech/mercantec/easyeat/CreateDishActivity.kt +++ b/app/app/src/main/java/tech/mercantec/easyeat/CreateDishActivity.kt @@ -1,25 +1,42 @@ package tech.mercantec.easyeat import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.widget.Button +import android.widget.LinearLayout import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.widget.Toolbar class CreateDishActivity : AppCompatActivity() { + + private lateinit var ingredientContainer: LinearLayout + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_create_dish_form) - // Setup the Toolbar as ActionBar - val toolbar: Toolbar = findViewById(R.id.toolbar) - setSupportActionBar(toolbar) + ingredientContainer = findViewById(R.id.ingredientContainer) + val addButton: Button = findViewById(R.id.addIngredientButton) - // Enable the Up button - supportActionBar?.setDisplayHomeAsUpEnabled(true) + // Add the first ingredient row manually at startup + addIngredientRow() + + // Set up button to add new rows + addButton.setOnClickListener { + addIngredientRow() + } } - // Handle the Up button click - override fun onSupportNavigateUp(): Boolean { - onBackPressedDispatcher.onBackPressed() - return true + private fun addIngredientRow() { + val inflater = LayoutInflater.from(this) + val ingredientRow = inflater.inflate(R.layout.activity_create_dish_ingredient_row, null) + + // Handle remove button in each row + val removeButton: Button = ingredientRow.findViewById(R.id.removeButton) + removeButton.setOnClickListener { + ingredientContainer.removeView(ingredientRow) + } + + ingredientContainer.addView(ingredientRow) } } diff --git a/app/app/src/main/res/layout/activity_create_dish_form.xml b/app/app/src/main/res/layout/activity_create_dish_form.xml index b64643f..62e333a 100644 --- a/app/app/src/main/res/layout/activity_create_dish_form.xml +++ b/app/app/src/main/res/layout/activity_create_dish_form.xml @@ -6,14 +6,6 @@ android:orientation="vertical" android:padding="16dp"> - - - - + +