Configuring imagebutton in the listview

1

How can I configure buttons within the listview, knowing that it creates a button whenever I add an image and a textview in the string array

public View getView(final int position, View convertView, ViewGroup parent) {

    LayoutInflater inflater = getLayoutInflater();
    View linha = inflater.inflate(R.layout.linha_de_produto, parent,
                        false);
    ImageButton add_car = (ImageButton)  linha.findViewById(R.id.carrinhoButton);
    add_car.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
               // não sei como posso falar para o button que
               //ele deve pegar o textview que esta do seu lado na listview
               // e jogar pra uma activity, activity dos itens que o cliente selecionou
        }

    });
        return linha
}
    
asked by anonymous 26.07.2016 / 12:48

1 answer

3

Here's an example!

/**
 * Criamos um ArrayAdapter com o tipo de Objeto que vamos trabalhar!
 */
class MeuAdapter extends ArrayAdapter<Objeto>{

    public MeuAdapter(Context context, int resource) {
        super(context, resource);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        //Pegamos o objeto que vamos trabalhar!
        // Ele de ser declarado como final para que possamos usar dentro do OnClickListener!
        final Objeto objetoCorrente = getItem(position);

        final View linha = getLayoutInflater().inflate(R.layout.spinner_adapter, parent, false);
        ImageButton add_car = (ImageButton)  linha.findViewById(R.id.carrinhoButton);
        add_car.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {

                final Intent intent = new Intent(getApplicationContext(), ActivityModel.class );
                intent.putExtra("ID_PRODUTO", objetoCorrente.getId());
                getApplicationContext().startActivity(intent);
            }

        });


        return linha;
    }
}
    
26.07.2016 / 13:28