Moverse a través de las filas de un tableLayout
Publicado por Juan Jose (14 intervenciones) el 25/04/2016 13:52:57
Hola , estoy creando un tablelayout, en el que dando funcionalidad a unos botones , se añadan una fila.
hasta aqui todo correcto.
el problema es que quisiera que mediante un metodo, recorriera dichas filas, y en una de las columnas (columna5) comprobar un checkbox si esta selecionado o no. y devuelva el num de check seleccionados
he probado con este codigo , pero no se como cada vez que se ejecute el bucle, saltar a la siguente fila.
se que dentro del for deberia de aumentar la fila en 1para pasar a la siguente,pero no encuentro el metodo.
Alguien me puede ayudar, gracias
hasta aqui todo correcto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private void addfila() {
//creamos una nueva fila
fila = new TableRow(getContext());
//añadimos los componentes que forman la fila
edreferencia = new EditText(getContext());
eddescripcion = new EditText(getContext());
sprequisito = new Spinner(getContext());
sptipo = new Spinner(getContext());
cbseleccion = new CheckBox(getContext());
//adaptador de array
ArrayAdapter<CharSequence> adp = ArrayAdapter.createFromResource(getContext(), R.array.valores_noconformidad, R.layout.layout_spinner);
//y cargamos
sprequisito.setAdapter(adp);
//añadimos a la tabla
fila.addView(edreferencia);
fila.addView(eddescripcion);
fila.addView(sprequisito);
fila.addView(sptipo);
fila.addView(cbseleccion);
//y la añadimos a la vista
tabla.addView(fila);
Toast.makeText(getContext(), "fila añadida", Toast.LENGTH_SHORT).show();
}
el problema es que quisiera que mediante un metodo, recorriera dichas filas, y en una de las columnas (columna5) comprobar un checkbox si esta selecionado o no. y devuelva el num de check seleccionados
he probado con este codigo , pero no se como cada vez que se ejecute el bucle, saltar a la siguente fila.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void deletefila() {
//contador de seleccion
int seleccion = 0;
//numero de filas ,(la primera es el titulo y no se cuenta
int datos = (tabla.getChildCount()) - 1;
//recorremos las filas
for (int i = 1; i < tabla.getChildCount(); i++) {
//comprobamos si el cb esta seleccionado; el checkbox esta en la columna 5
cbseleccion = (CheckBox) fila.getChildAt(4);
//checkbox sacamos valor si check o no
boolean dato=cbseleccion.isChecked();
//comprobamos si el checkbox esta seleccionado
if (dato==true)
seleccion++;
}
Toast.makeText(getContext(), "total seleccionados " + seleccion + " de registros " + datos, Toast.LENGTH_SHORT).show();
}
se que dentro del for deberia de aumentar la fila en 1para pasar a la siguente,pero no encuentro el metodo.
Alguien me puede ayudar, gracias
Valora esta pregunta


0