Saving checkbox data and sending to another activity

0

I have a list of products, which comes from an online database, each product contains a checkbox, name and value. What would be the best way to pass only the data of the marked products to a new activity? It is a system similar to a shopping cart. I did not want to do it with SQLite, I wanted something simpler. Can anyone help?

Data is saved here:

private final List<String> idSelecionados = new ArrayList<>();

The code below represents the checkbox.

CheckBox checMarcado  = (CheckBox) convertView.findViewById(R.id.checkBox);        

    checMarcado.setChecked(s.isMarcado());
    //Define uma tag para o checBox, para recuperar os dados quando for clicado no checkBox
    checMarcado.setTag(s);

    checMarcado.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        CheckBox check = (CheckBox) v;

        Serializando p = (Serializando) v.getTag();
        p.setMarcado(((CheckBox) v).isChecked());

        if (check.isChecked()) {
            Toast.makeText(context, "Adicionado " + p.getQuantidade()+ " - " + p.getNome(), Toast.LENGTH_SHORT).show();
            //Faz uma checagem se existe o mesmo valor na lista de inteiros
            if(!idSelecionados.contains(p.getNome())){
                //Adiciona em uma lista para poder manipular os dados depois
                idSelecionados.add(p.getNome() + p.getQuantidade());


            }

        } else {
            Toast.makeText(context, "Desmarcado " + p.getNome(), Toast.LENGTH_SHORT).show();
            //Faz uma checagem se existe o mesmo valor na lista de inteiros
            if(!idSelecionados.contains(p.getNome())){
                //Remove da lista se existir na lista
                idSelecionados.remove(p.getNome() + p.getQuantidade());
            }

        }

    }
});
    
asked by anonymous 06.04.2017 / 01:02

1 answer

0

Solved ... I passed the following way via Intent: (I do not know if it was the right one, but for now, it was one that worked well for me)

Sending:

                    Intent i = new Intent(getContext(), Detalhes.class);
                    i.putExtra("lista", dados);
                    context.startActivity(i);

And to receive I did so:

    ArrayList<String> dados = getIntent().getStringArrayListExtra("lista");

However, if someone knows a better way, I would like to see ... Vlw ...

    
07.04.2017 / 02:12