J'ai créé une table dynamique à partir d'une liste de tableauAndroid Studio - Table supprimant la ligne programme
for (int i = 0; i < arrayList.size(); i++) {
TextView name = new TextView(this);
TextView time = new TextView(this);
TableRow row = new TableRow(this);
// Set event name and remaining time
name.setText(arrayList.get(i).name);
time.setText("...");
// Add text views to row
row.addView(time, layoutParams);
row.addView(name, layoutParams);
// Add row to table
tableLayout.addView(row, i);
}
Maintenant, si je veux modifier ou supprimer certaines lignes sous une condition, je vais devoir accéder à cette ligne, mais Comment?
outerloop:
for(int i = 0; i < arrayList.size(); i++) {
if(// row's time <= 0 ...) {
tableLayout.removeViewAt(i); // this doesn't seem to work properly
// it removes the wrong rows
}
else {
// ...
break outerloop;
}
}
Pour une raison quelconque, tableLayout.removeViewAt(i);
supprime la ligne incorrecte. Alternativement, je préférerais éditer name
de cette rangée, mais le principe s'applique, je dois juste trouver un moyen d'accéder à la rangée de table. En tous cas?
vous pouvez également stocker votre 'row' dans une liste et y accéder via cette liste. –
lorsque vous supprimez la première ligne de la tableLayout deuxième ligne deviendra la première rangée (l'index va changer). –
@JineshFrancis Ohhh je vois !! N'était pas au courant de ça! Avez-vous des solutions de rechange? – user321070