Remover itens especificos repetidos, mas com valores diferente de uma ArrayAdapter

0 respostas
programaçãojava
E

Olá. Gostaria da ajuda de vocês para eliminar apenas de uma ListView os dados iguais em uma coluna “produtos” do meu database Firebase, com valores maiores do que o mínimo na coluna “valor”. Sem apaga-los do Firebase, apenas na exibição.
Gostaria de exibir apenas um item na ListView se houver repetidos. O que tenho feito está conforme a imagem. como faço para remover os itens iguais nos produtos?

Quero eliminar os itens repetidos, como na figura abaixo:

Deixando apenas os itens com valores menores e somando as quantidades. O código que construi até agora foi este:

spRelatorio.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, final int position, long id) {

            final String idPro = spRelatorio.getSelectedItem().toString();

            if(position != 0 && idPro.equals("Global")){
                cotacao = new ArrayList<>();
                final ListView listView = (ListView) findViewById(R.id.listViewGlobal);
                adapter = new CotacaoAdapter(GlobalActivity.this, cotacao);
                listView.setAdapter(adapter);

                final DatabaseReference bdCotacao;
                bdCotacao = FirebaseDatabase.getInstance().getReference();

                txtTipoRel.setText(String.valueOf("Relatório de Cotação Global"));
                textViewGbNome.setText(String.valueOf(" PRODUTOS/COTAÇÃO "));
                textViewGbValor.setText(String.valueOf(" VALOR "));
                textViewGbQtd.setText(String.valueOf(" QTD"));
                spRelatorio.setSelection(0);

                bdCotacao.child("bd_cotacoes").orderByChild("produtoCotacao")
                        .addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        cotacao.clear();

                        for (DataSnapshot dados:dataSnapshot.getChildren()) {
                            Cotacao relGlobal = dados.getValue(Cotacao.class);

                            cotacao.add(relGlobal);
                        }

                        adapter.notifyDataSetChanged();
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }

    });

Já tentei várias formas como para remover, mas sem sucesso. Segui vários exemplos, mas não fizeram o que eu esperava. alguém pode me ensinar como fazer esta parte do código, e onde inserir para remover os itens repetidos com valores maiores, e somar as quantidades. Fico grato!

Criado 14 de setembro de 2018
Respostas 0
Participantes 1