Ir para conteúdo

Alex Oliveira Dos Santos

Members
  • Total de itens

    5
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Alex Oliveira Dos Santos

  1. Alex Oliveira Dos Santos

    Recyclerview alterando informações a cada 10 linhas automaticamente

    Boa tarde, estou criando um carrinho de compras onde tem uma recyclerview listando os produtos, ao lado de cada produto tem um campo de quantidade + ou - que teram a função de adicionar e aumentar a quantidade de produto, mas o problema é que quando eu altero a quantidade de um produto automaticamente esta quantidade tambem vai para outras linhas, intercaladas de 10 em 10, sei que isso é porque o recyclerview meio que carrega de 10 em 10 e vai limpando, soque eu nao sei como resolver isso, segue código e abaixo imagem de referencia public class ProdutosCodBarrasAdapter extends RecyclerView.Adapter<ProdutosCodBarrasAdapter.ViewHolderProdutos> { private List<Produto> dados; private List<PedidoItens> dados2; public Button actionProdMais; public Button actionProdMenos; public TextView txtQtd; private TabelaPreco tabelaPreco; private TabelaPrecoProdutoRepositorio tabelaPrecoProdutoRepositorio; public Double varBaseValor; public int varCodProduto; public Double passaQtd; public Produto[] produto; public String varprecoBaseNovoAjuste; public int varCodProdutoExcluir; public int varCodProdutoItemExcluir; private SQLiteDatabase conexao; private DadosOpenHelper dadosOpenHelper; public int varB; public int varC; public int varD; public String varE; public static final String NOME_PREFERENCE = "INFORMACOES_LOGIN_AUTOMATICO"; public int cli_emp_id; public ProdutosCodBarrasAdapter(List<Produto> dados){ this.dados = dados; } @NonNull @Override public ProdutosCodBarrasAdapter.ViewHolderProdutos onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext()); View view = layoutInflater.inflate(R.layout.linha_carrinho_add, parent,false);//R.layout.linha_produtos, parent,false ViewHolderProdutos holderProdutos = new ViewHolderProdutos(view, parent.getContext()); view.setBackgroundColor(0xFFF0F0F0); return holderProdutos; } @Override public void onBindViewHolder(@NonNull ProdutosCodBarrasAdapter.ViewHolderProdutos holder, int position) { if((dados != null) && (dados.size() > 0)) { DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois.setMinimumFractionDigits(2); formatoDois.setParseBigDecimal (true); //CARREGAR NA BINDVIEW aqui ele gera de 10 em 10, sempre ir atualizano a lista com as alterações (dados) Produto produto = dados.get(position); holder.listNomeProd.setText(produto.tab_id + " : " + produto.est_descricao_cor + " - " + produto.est_tam + " posição: "+position);//aqui morre //holder.listRefProd.setText(produto.prod_referencia.toString());// varprecoBaseNovoAjuste = new String(formatoDois.format(produto.tab_preco_final)); varB = Integer.parseInt(produto.varCodPed);//codigo do pedido varC = Integer.parseInt(String.valueOf(produto.codigo_prod));//codigo produto varD = Integer.parseInt(String.valueOf(produto.est_id_cor));//codigo da cor varE = String.valueOf(produto.est_tam);//tamanho holder.listPrecoProd.setText(varprecoBaseNovoAjuste);//aqui? holder.listPrecoProd.setText(formatoDois.format(produto.tab_preco_final.toString())); varCodProdutoItemExcluir = produto.prod_id; holder.listPegaCodPedidoItem2.setText(String.valueOf(varCodProdutoItemExcluir)); varBaseValor = produto.tab_preco_final; varCodProduto = produto.prod_id; } } @Override public int getItemCount() { return dados.size(); } public class ViewHolderProdutos extends RecyclerView.ViewHolder implements View.OnClickListener { private TextView listNomeProd; private TextView listPrecoProd; private ImageView idImagen; private TextView txtQtd; private double pegaQtd; private TextView listPegaCodPedidoItem2; public ViewHolderProdutos(@NonNull View itemView, final Context context) { super(itemView); listNomeProd = (TextView) itemView.findViewById(R.id.listNomeProd); listPrecoProd = (TextView) itemView.findViewById(R.id.listPrecoProd); txtQtd = (TextView) itemView.findViewById(R.id.txtQtd); passaQtd = Double.valueOf(txtQtd.getText().toString()); listPegaCodPedidoItem2 = (TextView) itemView.findViewById(R.id.listPegaCodPedidoItem2); actionProdMais = (Button) itemView.findViewById(R.id.actionProdMais); actionProdMais.setOnClickListener(this); actionProdMenos = (Button) itemView.findViewById(R.id.actionProdMenos); actionProdMenos.setOnClickListener(this); //ATUALIZAR ELE NA VIEW // actionProdMenos.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // get position int pos = getAdapterPosition(); // check if item still exists if(pos != RecyclerView.NO_POSITION){ Produto produto = dados.get(pos); Double pegaQtd2 = Double.valueOf(txtQtd.getText().toString()); if(pegaQtd2 > 1.00){pegaQtd2--;} txtQtd.setText(pegaQtd2.toString()); Double pegaPrecoProd2 = pegaQtd2 * varBaseValor; DecimalFormat formatoDois2 = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois2.setMinimumFractionDigits(2); formatoDois2.setParseBigDecimal (true); listPrecoProd.setText(formatoDois2.format(pegaPrecoProd2).toString()); passaQtd = Double.valueOf(pegaQtd2.toString()); Toast.makeText(v.getContext(), "TAM: " + produto.est_tam + "QTD: " + passaQtd, Toast.LENGTH_SHORT).show(); //ProdutosCodBarrasAdapter.this.notifyItemChanged(pos, "payload " + pos); //Toast.makeText(v.getContext(), "You clicked " + produto.est_tam, Toast.LENGTH_SHORT).show(); } } }); // // actionProdMais.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { // get position int pos = getAdapterPosition(); // check if item still exists if(pos != RecyclerView.NO_POSITION){ Produto produto = dados.get(pos); Double pegaQtd = Double.valueOf(txtQtd.getText().toString()); pegaQtd++; txtQtd.setText(pegaQtd.toString()); Double pegaPrecoProd = pegaQtd * varBaseValor; DecimalFormat formatoDois = new DecimalFormat("##,###,###,##0.00", new DecimalFormatSymbols(new Locale("pt", "BR"))); formatoDois.setMinimumFractionDigits(2); formatoDois.setParseBigDecimal (true); listPrecoProd.setText(formatoDois.format(pegaPrecoProd).toString()); passaQtd = Double.valueOf(pegaQtd.toString()); Toast.makeText(v.getContext(), "TAM: " + produto.est_tam + "QTD: " + passaQtd, Toast.LENGTH_SHORT).show(); } } }); // } @Override public void onClick(View view) { switch (view.getId()) { case R.id.actionProdMais: break; case R.id.actionProdMenos: break; default: break; } } } }
  2. Alex Oliveira Dos Santos

    Capturar resultado de objeto xml de webservice

    Tentei vários códigos porem não consegui extrair os dados individuais de um retorno de webservice que recebo uma string contendo um objeto xml segue abaixo códigos utilizados e retorno <?php $client = new SoapClient('http://xxxWebService.asmx?wsdl'); $function = 'getEstoque'; $arguments= array('getEstoque' => array( 'emp_id'=>"4", 'grupo'=>"", 'segmento'=>"", 'produto_id'=>"20", 'cor_id'=>"", 'tamanho'=>"" )); $options = array('location' => 'http://xxxWebService.asmx?wsdl'); $result = $client->__soapCall($function, $arguments, $options); echo'<pre>'; var_dump($result);//retorna um object(stdClass)#2 (1) {["getEstoqueResult"]=>string(2717) echo'</pre>'; ?> retorno recebido que preciso capturar os dados individualmente <pre>object(stdClass)#2 (1) { ["getEstoqueResult"]=> string(2717) "<NewDataSet> <produto> <produto_id>20</produto_id> <produto_tamanho>P</produto_tamanho> <cor_id>1</cor_id> <qtd_estoque>200</qtd_estoque> <cor>DIVERSAS</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>PP</produto_tamanho> <cor_id>1</cor_id> <qtd_estoque>200</qtd_estoque> <cor>DIVERSAS</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>G</produto_tamanho> <cor_id>1</cor_id> <qtd_estoque>210</qtd_estoque> <cor>DIVERSAS</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>GG</produto_tamanho> <cor_id>1</cor_id> <qtd_estoque>200</qtd_estoque> <cor>DIVERSAS</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>M</produto_tamanho> <cor_id>1</cor_id> <qtd_estoque>200</qtd_estoque> <cor>DIVERSAS</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>G</produto_tamanho> <cor_id>2</cor_id> <qtd_estoque>200</qtd_estoque> <cor>PRETA</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>GG</produto_tamanho> <cor_id>2</cor_id> <qtd_estoque>200</qtd_estoque> <cor>PRETA</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>M</produto_tamanho> <cor_id>2</cor_id> <qtd_estoque>200</qtd_estoque> <cor>PRETA</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>P</produto_tamanho> <cor_id>2</cor_id> <qtd_estoque>200</qtd_estoque> <cor>PRETA</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>PP</produto_tamanho> <cor_id>2</cor_id> <qtd_estoque>200</qtd_estoque> <cor>PRETA</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>M</produto_tamanho> <cor_id>4</cor_id> <qtd_estoque>200</qtd_estoque> <cor>VERMELHO</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>P</produto_tamanho> <cor_id>4</cor_id> <qtd_estoque>200</qtd_estoque> <cor>VERMELHO</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>PP</produto_tamanho> <cor_id>4</cor_id> <qtd_estoque>200</qtd_estoque> <cor>VERMELHO</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>G</produto_tamanho> <cor_id>4</cor_id> <qtd_estoque>200</qtd_estoque> <cor>VERMELHO</cor> </produto> <produto> <produto_id>20</produto_id> <produto_tamanho>GG</produto_tamanho> <cor_id>4</cor_id> <qtd_estoque>200</qtd_estoque> <cor>VERMELHO</cor> </produto> </NewDataSet>" } </pre> eu preciso pegar por exemplo, apenas o produto_id e o cor_id
  3. Alex Oliveira Dos Santos

    Variaveis UTF-8 e ISO-8859-1 gravadas em mesma tabela, como separar?

    opa me enganei mesmo ESerra, é que testei nao vi resultado e achei que era do bd, bom eu testei alguns scriptsa com o mb_check_encoding mas nao to conseguindo ter sucesso, sera qeu poderia me ajudar neste pequeno testezinho que eu fiz? <?php $string = "Gonçalves"; if(mb_check_encoding($string) == true) { echo 'O encoding utilizado na variável ' . $string . ' é UTF8'; } else { echo 'O encoding utilizado na variável' . $string . 'foi passado pra UTF8 mas ele nao era utf8'; } ?> o retorno esta sento: O encoding utilizado na variável Gonçalves é UTF8 O encoding utilizado na variável Gonsálves é UTF8 help
  4. Alex Oliveira Dos Santos

    Variaveis UTF-8 e ISO-8859-1 gravadas em mesma tabela, como separar?

    Bom dia ESerra, agradeço a resposta, porem, este comando se aplica ao BD, eu até testei ele, porem oque ele faz é verificar qual o sharset do BD mas eu tenho no mesmo BD dados gravados com codificação diferentes mesmo tendo um determinado sharset ja definido para a tabela, grato
  5. Alex Oliveira Dos Santos

    Variaveis UTF-8 e ISO-8859-1 gravadas em mesma tabela, como separar?

    Bom dia, pesquisei na internet e nao achei solução para meu desafio, então aqui vamso nós, agradeço pelas ajudas desde já. Eu possuo um site que foi reformulado toda a sua estrutura mudando programação e ficando apenas o mesmo banco, porem quando eu chamo uma variavel do banco na tela temos o seguinte problema: existem variaveis antigas com um tipo de codificação por ex: UTF-8, mas os registros novos no banco são registrados pelo novo sistema como Iso, então na hora de imprimir se você defini um sharset ou os resultados novos no bd ou os antigos acabam ficando com caracteres especias, então gostaria de saber se tem como ao receber uma variavel do BD eu consiga verificar em qual codificação esta aquela determinada variavel, dento em vista que pode ser uma utf8 ou iso, pois existem ambas na mesma tabela, fico aguardando um help. ex: de váriaveis sendo armazenadas no mesmo BD: registro velho - > José registro novo - > Gonçalves
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.