Je construis TableLayout dynamiquement. Et j'ai besoin de TableRow a un écart dans la position de certaines colonnes. Par exemple, j'ai besoin de rangée a ImageView sur 3 et 5, la prochaine rangée a ImageView sur 1, 2, 4 position. J'essaie d'utiliser:Android TableRow - Comment ajouter View dynamiquement à certaine position?
TableRow row1 = new TableRow(this);
row1.addView(new ImageView(this), 2);
row1.addView(new ImageView(this), 4);
mTable.addView(row1);
TableRow row2 = new TableRow(this);
row2.addView(new ImageView(this), 0);
row2.addView(new ImageView(this), 1);
row2.addView(new ImageView(this), 3);
mTable.addView(row2);
mais j'ai obtenu IndexOfBoundException au moment de l'exécution.
ERREUR/AndroidRuntime (771): Causé par: java.lang.IndexOutOfBoundsException: index = 2 count = 0
Toutes les suggestions seraient appréciés.
Merci.
Serhy, merci de répondre. Mais, peut-être, vous savez comment devrais-je spécifier la quantité de colonnes dans une rangée? Ou quantité de lignes et de colonnes dans un tableau? Je voulais juste utiliser addView (view, index) sans une telle erreur ... – levkatata
Si je vous comprends bien, vous voulez avoir des images dans une cellule, puis pas dans la suivante, puis une image, puis pas ... et puis dans la ligne suivante, le contraire, en commençant par une cellule vide? – Sephy
Oui, Serhy, tu as raison. Mais il y a différents types de disposition que j'ai besoin de créer, comme un losange, comme une croix, comme une tique et ainsi de suite. J'ai essayé votre solution, ça marche très bien! Mais j'ai remarqué que le temps de création d'une telle mise en page dépend de la quantité de vues que je crée. Je dois créer de nombreuses vues vides ... – levkatata