From 94e636f1d5e161e3bb35da69ce15e1050c79d15b Mon Sep 17 00:00:00 2001 From: Aaron Sun Date: Tue, 6 Oct 2020 14:39:21 -0700 Subject: [PATCH] Can now change quantity of items --- .../main/java/com/example/listify/List.java | 86 +++++++++++++++---- .../app/src/main/res/layout/listproduct.xml | 16 ++-- 2 files changed, 76 insertions(+), 26 deletions(-) diff --git a/Listify/app/src/main/java/com/example/listify/List.java b/Listify/app/src/main/java/com/example/listify/List.java index ae251ea..e18e935 100644 --- a/Listify/app/src/main/java/com/example/listify/List.java +++ b/Listify/app/src/main/java/com/example/listify/List.java @@ -1,15 +1,19 @@ package com.example.listify; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; +import java.util.ArrayList; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -18,39 +22,48 @@ import androidx.appcompat.app.AppCompatActivity; public class List extends AppCompatActivity { ListView listView; String listName = "Sample List"; - String[] pNames = {"Half-gallon organic whole milk"}; - String[] pStores = {"Kroger"}; - String[] pPrices = {"$5.00"}; - int[] pImages = {R.drawable.milk}; - //List(String name) { - // listName = name; - //} + Button incrQuan; + Button decrQuan; + + ArrayList pNames = new ArrayList<>(); //String[] pNames = {"Half-gallon organic whole milk"}; + ArrayList pStores = new ArrayList<>(); //String[] pStores = {"Kroger"}; + ArrayList pPrices = new ArrayList<>(); //String[] pPrices = {"$5.00"}; + ArrayList pQuantity = new ArrayList<>(); //String[] pQuantity = {"1"}; + ArrayList pImages = new ArrayList<>(); //int[] pImages = {R.drawable.milk}; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { + pNames.add("Half-gallon organic whole milk"); + pStores.add("Kroger"); + pPrices.add("$5.00"); + pQuantity.add("1"); + pImages.add(R.drawable.milk); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_list); listView = findViewById(R.id.listView); + MyAdapter myAdapter = new MyAdapter(this, pNames, pStores, pPrices, pQuantity, pImages); - MyAdapter myAdapter = new MyAdapter(this, pNames, pStores, pPrices, pImages); listView.setAdapter(myAdapter); } class MyAdapter extends ArrayAdapter { Context context; - String[] pNames; - String[] pStores; - String[] pPrices; - int[] pImages; + ArrayList pNames; //String[] pNames; + ArrayList pStores; //String[] pStores; + ArrayList pPrices; //String[] pPrices; + ArrayList pQuantity; //String[] pQuantity; + ArrayList pImages; //int[] pImages; - MyAdapter (Context c, String[] names, String[] stores, String[] prices, int[] images) { + MyAdapter (Context c, ArrayList names, ArrayList stores, ArrayList prices, ArrayList quantity, ArrayList images) { super(c, R.layout.listproduct, R.id.productView, names); context = c; pNames = names; pStores = stores; pPrices = prices; + pQuantity = quantity; pImages = images; } @@ -60,15 +73,52 @@ public class List extends AppCompatActivity { LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View listproduct = layoutInflater.inflate(R.layout.listproduct, parent,false); - ImageView image = listproduct.findViewById(R.id.imageView); + decrQuan = (Button) listproduct.findViewById(R.id.buttonDecr); + decrQuan.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TextView quantityText = (TextView) findViewById(R.id.quantityView); + int q = Integer.parseInt(quantityText.getText().toString()) - 1; + quantityText.setText(Integer.toString(q)); + + if(q <= 1) { + decrQuan.setEnabled(false); + } + if(q < 10) { + incrQuan.setEnabled(true); + } + } + }); + decrQuan.setEnabled(false); + + incrQuan = (Button) listproduct.findViewById(R.id.buttonIncr); + incrQuan.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + TextView quantityText = (TextView) findViewById(R.id.quantityView); + int q = Integer.parseInt(quantityText.getText().toString()) + 1; + quantityText.setText(Integer.toString(q)); + + if(q > 1) { + decrQuan.setEnabled(true); + } + if(q >= 10) { + incrQuan.setEnabled(false); + } + } + }); + TextView name = listproduct.findViewById(R.id.productView); TextView store = listproduct.findViewById(R.id.storeView); TextView price = listproduct.findViewById(R.id.priceView); + TextView quantity = listproduct.findViewById(R.id.quantityView); + ImageView image = listproduct.findViewById(R.id.imageView); - image.setImageResource(pImages[position]); - name.setText(pNames[position]); - store.setText(pStores[position]); - price.setText(pPrices[position]); + name.setText(pNames.get(position)); + store.setText(pStores.get(position)); + price.setText(pPrices.get(position)); + quantity.setText(pQuantity.get(position)); + image.setImageResource(pImages.get(position)); return listproduct; } diff --git a/Listify/app/src/main/res/layout/listproduct.xml b/Listify/app/src/main/res/layout/listproduct.xml index a4d65fe..2331503 100644 --- a/Listify/app/src/main/res/layout/listproduct.xml +++ b/Listify/app/src/main/res/layout/listproduct.xml @@ -15,22 +15,22 @@ app:layout_constraintTop_toTopOf="parent">