public void updateRow(View v, int i) {
      RelativeLayout rl = (RelativeLayout) v.getParent();
      TextView tvQuantity = (TextView) rl.findViewById(R.id.salesitemrowquantity);
      int q = (Integer.valueOf(tvQuantity.getText().toString())) + i;
      tvQuantity.setText("" + q);

      TextView tvPrice = (TextView) rl.findViewById(R.id.salesitemrowprice);
      BigDecimal p = new BigDecimal(tvPrice.getText().toString());

      TextView tvTotal = (TextView) rl.findViewById(R.id.salesitemrowtotalcost);
      tvTotal.setText(p.multiply(new BigDecimal(q)).setScale(2).toString());

      UpdateSalesItemLocator ucl = (UpdateSalesItemLocator) tvQuantity.getTag();

      ArrayList<SalesItemsSold> list = FundraiserCounterActivity.readGsFilex(v.getContext());
      SalesItemsSold gscs = list.get(ucl.personRow);
      SalesItem row = gscs.getItemsSoldList().get(ucl.getSalesItemRow());
      row.setQuantity(q);
      FundraiserCounterActivity.saveGsFilex(v.getContext(), list);

      LinearLayout ll = (LinearLayout) v.getParent().getParent();

      RelativeLayout rlTotalRow = (RelativeLayout) ll.findViewById(R.id.rlsalesitemtotalrow);
      TextView tvTotalQuantity = (TextView) rlTotalRow.findViewById(R.id.salesitemrowquantity);
      TextView tvTotalTotal = (TextView) rlTotalRow.findViewById(R.id.salesitemrowtotalcost);

      tvTotalQuantity.setText("" + (Integer.parseInt(tvTotalQuantity.getText().toString()) + i));

      BigDecimal bd = new BigDecimal(tvTotalTotal.getText().toString());
      if (i == 1) bd = bd.add(row.getCost());
      if (i == -1) bd = bd.subtract(row.getCost());
      tvTotalTotal.setText(bd.toString());
    }
  private void removeItemFromList(
      ArrayList<SalesItemsSold> list, String gsNameFinal, String itemName, Context context) {
    ArrayList<SalesItemsSold> newList = new ArrayList<SalesItemsSold>();
    SalesItemsSold salesItemsSold;

    for (Iterator<SalesItemsSold> iter = list.iterator(); iter.hasNext(); ) {
      salesItemsSold = iter.next();
      if (gsNameFinal.equals(salesItemsSold.getName())) {
        ArrayList<SalesItem> salesItemsSoldList = salesItemsSold.getItemsSoldList();
        ArrayList<SalesItem> newSalesItemsSoldList = new ArrayList<SalesItem>();
        SalesItem saleItem;

        for (Iterator<SalesItem> iter2 = salesItemsSoldList.iterator(); iter2.hasNext(); ) {
          saleItem = iter2.next();
          if (!saleItem.getName().equals(itemName)) {
            newSalesItemsSoldList.add(saleItem);
          }
        }
        salesItemsSold.setItemsSoldList(newSalesItemsSoldList);
      }
      newList.add(salesItemsSold);
    }
    FundraiserCounterActivity.saveGsFilex(context, newList);
  }