entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Como saber que ToggleButtons están presionados dentro del Adaptador

Aquí donde creo el adaptador:

final CustomListViewAdapterIngredientes adapter = new CustomListViewAdapterIngredientes(
                this, items);
        listProductos.setAdapter(adapter);

Justamente debajo añado el click del botón:

insertarCarrito.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View arg0) {

        });

El botón está fuera del adaptador, así que como sé cuáles están seleccionados, para así ya después almacenarlos en la BD.

1 Respuesta

0voto

white Puntos75880

Intenta recorrer tu adaptador y obtener todos los items ListViewItem por su posición:

insertarCarrito.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            for (int i = 0; i < adapter.getCount(); i++) {

                String ingrediente = adapter.getItem(i).getNombre();
                boolean isChecked = adapter.getItem(i).isChecked();

                if (isChecked) {
                    Log.d("debug", "checked => " + ingrediente);
                }
            }
        }
    });

en la linea; String ingrediente = adapter.getItem(i).getNombre(); estoy asumiendo que tienes en tu clase ListViewItem el metodo getNombre.

0voto

white comentado

Como tienes los metodos getItem(), getCount() y getItemId() en tu adaptador CustomListViewAdapterIngredientes? agrega el codigo para verificar que devuelvan la información correcta.

0voto

danielreales7 comentado

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return items.size();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return null;
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return 0;
}

0voto

white comentado

estas retornando un valor nulo en el metodo getItem, de ahi el error null object reference reemplaza los metodos getItem y getItemId por:

@Override
public Object getItem(int position) {
    return items.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

0voto

danielreales7 comentado

Me ha devuelto perfectamente los datos! Eres un genio, muchísimas gracias por todo.

0voto

white comentado

me alegro se haya resuelto ;)

saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta