Why is the method calculating 1 product only?

0

I have a problem with a method in which you are calculating the quantity of a single product rather than calculating all that I select.

I'm sure the problem is in the position I passed to the variables when I start them.

The method follows:

private void setEvents() {

    //Já está passando o preço do produto, mas ainda preciso calcular o preço de todos, vezes a quantidade.
    final List<Double> listaValorDoProduto = new ArrayList<Double>();
    final List<Integer> listaQuantidadeDoProduto = new ArrayList<Integer>();
    final List<Double> listaValorTotalDoProduto = new ArrayList<Double>();


    /*final double[] valorDoProduto = new double[1];
    final int[] quantidadeDoProduto = new int[1];
    final double[] valorTotalDoProduto = new double[1];*/

    Button botaoFinalizarPedido = (Button) findViewById(R.id.btn_finalizar_pedido);

    botaoFinalizarPedido.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            double total;
            double valor = 0;
            int quantidade = 0;
            int x = 0;
            int y = 0;

            Intent intent = new Intent(ProdutoActivity.this, ServicoDeEmailActivity.class);

            Bundle params = new Bundle();

            /*valorDoProduto[0] = app.getValorDoProduto();
            quantidadeDoProduto[0] = app.getTotal();

            total = valorDoProduto[0] * quantidadeDoProduto[0] ;*/

            listaValorDoProduto.add(app.getValorDoProduto());
            listaQuantidadeDoProduto.add(app.getTotal());

            for (Double valorDoProduto : listaValorDoProduto){
               while(x < valorDoProduto) {

                   valor = valorDoProduto;
                   x++;
               }
             }

            for (Integer quantidadeDoProduto :listaQuantidadeDoProduto){
                while(y < quantidadeDoProduto) {

                    quantidade = quantidadeDoProduto;
                    y ++;
                }
            }

            total = valor * quantidade;

            params.putDouble("ValorDoProduto", total);
            intent.putExtras(params);
            startActivity(intent);

        }
    });
}

I've reissued the method, I think it's better.

Here are the methods used in the App class:

//Adicionando a lista de Produtos dentro de Compra (Carrinho de Compra).
    public void adicionarProduto(ItemCompra itemCompra) {

        //Percorrendo os itens da compra e passando os itens para o carrinho.
        for (ItemCompra itemCompraDoCarrinho : compra.getItens()) {
            //Se o item do carrinho for igual ao item da lista de compra...
            if (itemCompraDoCarrinho.equals(itemCompra)) {
                //Retorno a quantidade de item e somando + 1.
                itemCompraDoCarrinho.setQuantidade(itemCompraDoCarrinho.getQuantidade() + 1);
                return;
            }
        }



    //Adiciona a quantidade na lista de compras
            itemCompra.setQuantidade(1);
            compra.getItens().add(itemCompra);
        }

public double getValorDoProduto(/*ItemCompra itemCompra*/) {

        Log.i("App", "Dentro do método getValorDoProduto");
        for (ItemCompra itemCompraDoCarrinho : compra.getItens()) {

            //if (itemCompraDoCarrinho.equals(itemCompra)) {
                Log.i("App", "Obtendo o valor do item...");
                return itemCompraDoCarrinho.getProduto().getValor();

            //}
        }
        Log.i("App", "Não conseguiu pegar o valor do produto e retornou 0");
        return 0;
    }

public int getTotal() {
        //int quantidade = 0;
        for (ItemCompra itemCompraDoCarrinho : compra.getItens()) {

           //quantidade = itemCompraDoCarrinho.getQuantidade();
            return itemCompraDoCarrinho.getQuantidade();
        }
        return 0;
    }
    
asked by anonymous 09.02.2015 / 00:48

0 answers