diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_editItem.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_editItem.java index 260fec045f4bd2879f3d103272f735aeb6d184e4..e0f29d03e291bf171f3986b800cf94fa2e3e84a6 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_editItem.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Recyclerviewadapter_editItem.java @@ -1,6 +1,92 @@ package com.example.mampfmobil.ui.Classes; +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.TextView; + +import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; -public class Recyclerviewadapter_editItem extends RecyclerView.ViewHolder<MyViewHolder> { +import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.MampfMobil; +import com.example.mampfmobil.ui.customer.CustomerShoppingCartFragment; + +import java.util.Vector; + +public class Recyclerviewadapter_editItem extends RecyclerView.Adapter<Recyclerviewadapter_editItem.MyViewHolder> { + + Context context; + Vector<ShopItem> shopItems; + + public Recyclerviewadapter_editItem(Context context){ + this.context = context; + this.shopItems = MampfMobil.currentSupplier.shopItems; + } + + @NonNull + @Override + public Recyclerviewadapter_editItem.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + + LayoutInflater inflater = LayoutInflater.from(context); + View view = inflater.inflate(R.layout.recyclerview_edititemrow,parent,false); + return new Recyclerviewadapter_editItem.MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull Recyclerviewadapter_editItem.MyViewHolder holder, int position) { + holder.tvName.setText(shopItems.get(position).item.name); + holder.etPrice.setText(String.valueOf(shopItems.get(position).item.price)); + holder.etAmount.setText(String.valueOf(shopItems.get(position).quantity)); + + holder.buttonDeleteItem.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int adapterPosition = holder.getAdapterPosition(); + if (adapterPosition != RecyclerView.NO_POSITION) { + removeItem(adapterPosition); + } + } + }); + + holder.buttonEditItem.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + shopItems.get(position).quantity =Integer.parseInt( holder.etAmount.getText().toString()); + shopItems.get(position).item.price =Double.parseDouble( holder.etAmount.getText().toString()); + } + }); + + } + + public void removeItem(int position) { + shopItems.remove(position); + notifyItemRemoved(position); + notifyItemRangeChanged(position, getItemCount()); + } + @Override + public int getItemCount() { + return shopItems.size(); + } + + public static class MyViewHolder extends RecyclerView.ViewHolder{ + + Button buttonEditItem; + ImageButton buttonDeleteItem; + EditText etAmount, etPrice; + TextView tvName; + public MyViewHolder(@NonNull View itemView) { + super(itemView); + buttonDeleteItem = itemView.findViewById(R.id.deleteButton2); + buttonEditItem = itemView.findViewById(R.id.buttonEdit); + etAmount = itemView.findViewById(R.id.editTextAmount); + etPrice = itemView.findViewById(R.id.editTextPrice); + tvName = itemView.findViewById(R.id.textViewName); + } + } } diff --git a/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java b/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java index 0c6b7eff718fe326847fe555353fda8b0060ad74..5cf2d728671a1c4b0e95b35eaa12a5e704c3c570 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java +++ b/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java @@ -41,8 +41,12 @@ public class MampfMobil { deliverers.add(new Deliverer("Mr", "Fahrer", "Fahrstr.")); deliverers.add(new Deliverer("Mrs", "Fahrerin", "Fahrstr.")); suppliers.add(new Supplier("DummyShop", "Dummystreet")); - suppliers.add(new Supplier("Freeshop", "Freeadress")); + suppliers.add(new Supplier("FreeShop", "Freeadress")); suppliers.add(new Supplier("Rewe", "Rewestr")); + suppliers.get(0).itemAdd("DummyApfel", 10, 0.5); + suppliers.get(0).itemAdd("DummyBanane", 5, 0.8); + suppliers.get(0).itemAdd("DummyBirne", 10, 0.5); + suppliers.get(0).itemAdd("DummyAnanas", 5, 0.8); suppliers.get(1).itemAdd("DummyApfel", 10, 0.5); suppliers.get(1).itemAdd("DummyBanane", 5, 0.8); suppliers.get(2).itemAdd("FreeApfel", 5, 3.4); diff --git a/app/src/main/java/com/example/mampfmobil/ui/supplier/SupplierEditItemFragment.java b/app/src/main/java/com/example/mampfmobil/ui/supplier/SupplierEditItemFragment.java index 466e597a69b2c95a157154d8757a69c817f1f455..0b335e921ebc4b1a5ca41b4b42a3ee40cc29128a 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/supplier/SupplierEditItemFragment.java +++ b/app/src/main/java/com/example/mampfmobil/ui/supplier/SupplierEditItemFragment.java @@ -7,12 +7,16 @@ import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.mampfmobil.R; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_ShoppingCart; +import com.example.mampfmobil.ui.Classes.Recyclerviewadapter_editItem; public class SupplierEditItemFragment extends Fragment { @@ -25,7 +29,18 @@ public class SupplierEditItemFragment extends Fragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - return inflater.inflate(R.layout.fragment_supplier_edit_item, container, false); + View rootView = inflater.inflate(R.layout.fragment_supplier_edit_item, container, false); + RecyclerView recyclerView = rootView.findViewById(R.id.myShopitemsRecycler); + + // Set the layout manager + LinearLayoutManager layoutManager = new LinearLayoutManager(requireActivity()); + recyclerView.setLayoutManager(layoutManager); + Recyclerviewadapter_editItem adapter = new Recyclerviewadapter_editItem(requireContext()); + recyclerView.setAdapter(adapter); + adapter.notifyDataSetChanged(); + + + return rootView; } @Override diff --git a/app/src/main/res/layout/fragment_customer_shop.xml b/app/src/main/res/layout/fragment_customer_shop.xml index 215568cab7ab7291270301e49e97edf6d3bb60de..1f47452be4d4a689132d551d279822d2d9381a13 100644 --- a/app/src/main/res/layout/fragment_customer_shop.xml +++ b/app/src/main/res/layout/fragment_customer_shop.xml @@ -10,8 +10,9 @@ <EditText android:id="@+id/editTextSearch" - android:layout_width="239dp" - android:layout_height="42dp" + android:layout_width="248dp" + android:layout_height="41dp" + android:layout_marginTop="8dp" android:hint="@android:string/search_go" android:inputType="textPersonName" app:layout_constraintBottom_toBottomOf="parent" @@ -24,20 +25,20 @@ <androidx.recyclerview.widget.RecyclerView android:id="@+id/myShopRecycler" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/editTextSearch" + app:layout_constraintTop_toBottomOf="@+id/searchButton" app:layout_constraintVertical_bias="0.0"> </androidx.recyclerview.widget.RecyclerView> <Button android:id="@+id/searchButton" - android:layout_width="105dp" - android:layout_height="38dp" + android:layout_width="117dp" + android:layout_height="49dp" android:layout_marginTop="4dp" android:text="@android:string/search_go" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/fragment_supplier_edit_item.xml b/app/src/main/res/layout/fragment_supplier_edit_item.xml index 4d11d9fb600602e536376a991b5469e5ef2393be..ba428082db6b33a68257bc831a06d0b692b20961 100644 --- a/app/src/main/res/layout/fragment_supplier_edit_item.xml +++ b/app/src/main/res/layout/fragment_supplier_edit_item.xml @@ -1,13 +1,23 @@ -<?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +xmlns:app="http://schemas.android.com/apk/res-auto" +xmlns:tools="http://schemas.android.com/tools" +android:layout_width="match_parent" +android:layout_height="match_parent" +android:paddingBottom="?attr/actionBarSize" +tools:context=".ui.supplier.SupplierEditItemFragment"> + + +<androidx.recyclerview.widget.RecyclerView + android:id="@+id/myShopitemsRecycler" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.supplier.SupplierEditItemFragment"> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.0"> - <TextView - android:layout_width="match_parent" - android:layout_height="match_parent" - android:text="HelloS IS THE EDIT ITEM FRAGMANET" /> +</androidx.recyclerview.widget.RecyclerView> -</FrameLayout> \ No newline at end of file +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/recyclerview_edititemrow.xml b/app/src/main/res/layout/recyclerview_edititemrow.xml index cdc89f25a45f5b45f87938d438ba2c302f7499d8..a0b07c1694bffeaddb02bafcfaa85f0959eb287b 100644 --- a/app/src/main/res/layout/recyclerview_edititemrow.xml +++ b/app/src/main/res/layout/recyclerview_edititemrow.xml @@ -1,6 +1,107 @@ <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent"> + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content"> + + <androidx.cardview.widget.CardView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginBottom="5dp" + android:layout_marginTop="5dp" + android:layout_marginStart="5dp" + android:layout_marginEnd="5dp" + app:cardBackgroundColor="@color/cardview_light_background" + app:cardCornerRadius="20dp" + app:cardElevation="5dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" > + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <TextView + android:id="@+id/textViewName" + android:layout_width="155dp" + android:layout_height="34dp" + android:layout_marginStart="10dp" + android:text="Name" + android:textSize="20sp" + android:textStyle="bold" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textViewAmountNumber" + android:layout_width="wrap_content" + android:layout_height="25dp" + app:layout_constraintStart_toEndOf="@+id/textViewAmount" + app:layout_constraintTop_toTopOf="@+id/textViewAmount" /> + + <TextView + android:id="@+id/textViewAmount" + android:layout_width="wrap_content" + android:layout_height="25dp" + android:text="@string/restamount_dp" + app:layout_constraintStart_toEndOf="@+id/editTextPrice" + app:layout_constraintTop_toTopOf="@+id/textView8" /> + + <Button + android:id="@+id/buttonEdit" + android:layout_width="93dp" + android:layout_height="41dp" + android:layout_marginEnd="16dp" + android:text="EDIT" + android:textSize="14sp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toStartOf="@+id/deleteButton2" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textView8" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="@string/price_dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="@+id/textViewName" + app:layout_constraintTop_toBottomOf="@+id/textViewName" /> + + <EditText + android:id="@+id/editTextPrice" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:inputType="number" + android:text="1" + android:textSize="16sp" + app:layout_constraintStart_toEndOf="@+id/textView8" + app:layout_constraintTop_toBottomOf="@+id/textViewName" /> + + <EditText + android:id="@+id/editTextAmount" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:inputType="number" + android:text="1" + android:textSize="16sp" + app:layout_constraintStart_toEndOf="@+id/textViewAmount" + app:layout_constraintTop_toTopOf="@+id/editTextPrice" /> + + <ImageButton + android:id="@+id/deleteButton2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginEnd="16dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:srcCompat="@android:drawable/ic_menu_delete" /> + + + </androidx.constraintlayout.widget.ConstraintLayout> + </androidx.cardview.widget.CardView> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file