Poprawnie działająca klasa Cart, koniec pracy nad koszykiem.

This commit is contained in:
PawelZielinski 2021-02-09 01:55:40 +01:00
parent 998bc1f5b0
commit e3a4fa9fcd
6 changed files with 47 additions and 34 deletions

View File

@ -3,20 +3,21 @@ package com.example.pizzujemyv3;
import java.util.ArrayList; import java.util.ArrayList;
public class Cart { public class Cart {
public ArrayList<Pizza> cartLista; public ArrayList<Pizza> cartLista = new ArrayList<>();
private int totalPrice; private int totalPrice = 0;
public Cart(ArrayList<Pizza> menuList){ public Cart(ArrayList<Pizza> menuList){
setCartLista(menuList); setCartLista(menuList);
setTotalPrice();
} }
public void setCartLista(ArrayList<Pizza> menuList) public void setCartLista(ArrayList<Pizza> menuList)
{ {
menuList.forEach((pizza) -> addToCart(pizza)); menuList.forEach(pizza -> addToCart(pizza));
} }
public void addToCart(Pizza pizza){ public void addToCart(Pizza pizza){
if(pizza.getOnOrder()>0) if(pizza.getOnOrder()>0)
{ {
cartLista.add(pizza); cartLista.add(new Pizza(pizza));
} }
} }
@ -27,5 +28,6 @@ public class Cart {
} }
public int getTotalPrice(){return totalPrice;} public int getTotalPrice(){return totalPrice;}
public String getStringTotalPrice(){return String.valueOf(totalPrice);}
} }

View File

@ -15,7 +15,7 @@ import java.util.ArrayList;
public class CartActivity extends AppCompatActivity { public class CartActivity extends AppCompatActivity {
ListView cLView; ListView cLView;
ArrayList<Pizza> pizzaArrayList = new ArrayList<>(); ArrayList<Pizza> menuArrayList = new ArrayList<>();
Switch oSwitch; Switch oSwitch;
Button oButton; Button oButton;
@Override @Override
@ -24,17 +24,14 @@ Button oButton;
setContentView(R.layout.activity_cart); setContentView(R.layout.activity_cart);
cLView = findViewById(R.id.cartListView); cLView = findViewById(R.id.cartListView);
pizzaArrayList.add(new Pizza(1, "Margarita", 24, R.drawable.img1 , "sos pomidorowy\nmozzarella fior di latte"));
pizzaArrayList.add(new Pizza(2, "Marinara", 22, R.drawable.img2, "sos pomidorowy\noregano\nczosnek\nbazylia"));
pizzaArrayList.add(new Pizza(3, "Napoli", 26, R.drawable.img3 , "sos pomidorowy\nmozzarella fior di latte\nsalami napoli"));
pizzaArrayList.add(new Pizza(4, "Parma", 26, R.drawable.img4 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nszynka parmenska"));
pizzaArrayList.add(new Pizza(5, "Diavola", 28, R.drawable.img5 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nsalami spianata piccante"));
pizzaArrayList.get(3).addOnOrder();
pizzaArrayList.get(1).addOnOrder();
ArrayList<Pizza> cartArrayList = new ArrayList<>(); ArrayList<Pizza> cartArrayList = new ArrayList<>();
Cart cart = new Cart(pizzaArrayList); //cartArrayList.add(pizzaArrayList.get(1));
//cartArrayList.add(pizzaArrayList.get(3));
menuArrayList = getIntent().getParcelableArrayListExtra("pizzas");
Cart cart= new Cart(menuArrayList);
TextView totalPrice = (TextView)findViewById(R.id.totalPrice); TextView totalPrice = (TextView)findViewById(R.id.totalPrice);
totalPrice.setText(cart.getTotalPrice()); totalPrice.setText("Cena: " + cart.getStringTotalPrice());
PizzaAdapter pizzaAdapter = new PizzaAdapter(this,R.layout.list_row,cart.cartLista); PizzaAdapter pizzaAdapter = new PizzaAdapter(this,R.layout.list_row,cart.cartLista);
cLView.setAdapter(pizzaAdapter); cLView.setAdapter(pizzaAdapter);
/* /*

View File

@ -23,11 +23,11 @@ public class Menu extends AppCompatActivity {
menuListView = findViewById(R.id.listView); menuListView = findViewById(R.id.listView);
ArrayList<Pizza> arrayList = new ArrayList<>(); ArrayList<Pizza> arrayList = new ArrayList<>();
arrayList.add(new Pizza(1, "Margarita", 24, R.drawable.img1 , "sos pomidorowy\nmozzarella fior di latte")); arrayList.add(new Pizza(1, "Margarita", 24, R.drawable.img1 , "sos pomidorowy\nmozzarella fior di latte", 0));
arrayList.add(new Pizza(2, "Marinara", 22, R.drawable.img2, "sos pomidorowy\noregano\nczosnek\nbazylia")); arrayList.add(new Pizza(2, "Marinara", 22, R.drawable.img2, "sos pomidorowy\noregano\nczosnek\nbazylia",0));
arrayList.add(new Pizza(3, "Napoli", 26, R.drawable.img3 , "sos pomidorowy\nmozzarella fior di latte\nsalami napoli")); arrayList.add(new Pizza(3, "Napoli", 26, R.drawable.img3 , "sos pomidorowy\nmozzarella fior di latte\nsalami napoli",0));
arrayList.add(new Pizza(4, "Parma", 26, R.drawable.img4 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nszynka parmenska")); arrayList.add(new Pizza(4, "Parma", 26, R.drawable.img4 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nszynka parmenska",0));
arrayList.add(new Pizza(5, "Diavola", 28, R.drawable.img5 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nsalami spianata piccante")); arrayList.add(new Pizza(5, "Diavola", 28, R.drawable.img5 ,"sos pomidorowy\nmozzarella fior di latte\ncebula czerwona\nsalami spianata piccante",0));
PizzaAdapter pizzaAdapter = new PizzaAdapter(this,R.layout.list_row,arrayList); PizzaAdapter pizzaAdapter = new PizzaAdapter(this,R.layout.list_row,arrayList);
menuListView.setAdapter(pizzaAdapter); menuListView.setAdapter(pizzaAdapter);

View File

@ -12,15 +12,23 @@ public class Pizza implements Parcelable {
private int resID; private int resID;
private String des; private String des;
private int onOrder = 0; private int onOrder = 0;
private int sumPrice = price*onOrder;
public Pizza(int id, String name, int price, int resID, String des) { public Pizza(int id, String name, int price, int resID, String des, int onOrder) {
this.id = id; this.id = id;
this.name = name; this.name = name;
this.price = price; this.price = price;
this.resID = resID; this.resID = resID;
this.des = des; this.des = des;
this.onOrder = 0; this.onOrder = onOrder;
}
public Pizza(Pizza pizza)
{
this.id = pizza.id;
this.name = pizza.name;
this.price = pizza.price;
this.resID = pizza.resID;
this.des = pizza.des;
this.onOrder = pizza.onOrder;
} }
@ -31,7 +39,6 @@ public class Pizza implements Parcelable {
resID = in.readInt(); resID = in.readInt();
des = in.readString(); des = in.readString();
onOrder = in.readInt(); onOrder = in.readInt();
sumPrice = in.readInt();
} }
@SuppressWarnings("unused") @SuppressWarnings("unused")
@ -104,8 +111,8 @@ public class Pizza implements Parcelable {
public void addOnOrder(){this.onOrder += 1;} public void addOnOrder(){this.onOrder += 1;}
public void minOnOrder(){if(onOrder>0) this.onOrder -= 1;} public void minOnOrder(){if(onOrder>0) this.onOrder -= 1;}
public String getStringOnOrder(){return String.valueOf((onOrder));} public String getStringOnOrder(){return String.valueOf((onOrder));}
public int getSumPrice(){return sumPrice;} public int getSumPrice(){return price*onOrder;}
public String getStringSumPrice(){return String.valueOf(sumPrice);} public String getStringSumPrice(){return String.valueOf(getSumPrice());}
@Override @Override
public int describeContents() { public int describeContents() {
@ -120,6 +127,5 @@ public class Pizza implements Parcelable {
dest.writeInt(resID); dest.writeInt(resID);
dest.writeString(des); dest.writeString(des);
dest.writeInt(onOrder); dest.writeInt(onOrder);
dest.writeInt(sumPrice);
} }
} }

View File

@ -29,7 +29,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:layout_marginBottom="15sp" android:layout_marginBottom="10sp"
android:layout_weight="0.3" android:layout_weight="0.3"
> >
<ListView <ListView
@ -45,7 +45,7 @@
<TextView <TextView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.9" android:layout_weight="0.8"
android:background="#20FFFFFF" android:background="#20FFFFFF"
android:textColor="@color/white" android:textColor="@color/white"
android:shadowColor="#55000000" android:shadowColor="#55000000"
@ -53,7 +53,10 @@
android:shadowDy="6" android:shadowDy="6"
android:shadowRadius="6" android:shadowRadius="6"
android:id="@+id/totalPrice" android:id="@+id/totalPrice"
android:textAlignment="center"
android:textSize="30sp"
android:layout_marginTop="10sp"
android:text="@string/dowoz"
></TextView> ></TextView>
</LinearLayout> </LinearLayout>

View File

@ -92,12 +92,17 @@
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/addCounter" android:layout_below="@id/txtContent"
android:layout_marginTop="10dp" android:layout_toRightOf="@id/minButton"
android:layout_toRightOf="@id/image"
android:layout_marginLeft="20dp" android:layout_marginLeft="20dp"
android:id="@+id/sumTxtPrice" android:id="@+id/sumTxtPrice"
android:text="0" android:text="sumPrice"
android:textSize="20sp"
android:textColor="#e6e6e6e6"
android:shadowColor="#55000000"
android:shadowDx="6"
android:shadowDy="6"
android:shadowRadius="6"
/> />
</RelativeLayout> </RelativeLayout>