Comment accéder à des points de vue à l'intérieur de TableLayout
Dans TableLayout
il y a 9 Buttons
dans un format 3x3. Comment accéder au texte sur ces boutons par programmation à l'aide de l'id de TableLayout (pas de Bouton Id) ?
OriginalL'auteur John Watson | 2012-07-16
Vous devez vous connecter pour publier un commentaire.
Utiliser quelque chose comme,
3x3 format: (Code pour la compréhension réelle peut être différente)
TableRow
a unLinearLayout
à l'intérieur et à l'intérieur qu'LinearLayout
j'ai monButton
dont le texte je veux accéder. (REMARQUE: Il existe de nombreuxLinearLayout
à l'intérieur d'unTableRow
et aucun desButton
ontids
comme je l'ai défini la mise en page pour les boutons dans un fichier de mise en page et de l'inclure autant de fois que j'en ai besoin)Juste appel récursif de la fonction de boucle de tous les enfants de
ViewGroup
et si vous avez trouvé la vue enfant comme unButton
arrêter la boucle.hypothétiquement, si j'avais un tableau de mise en page avec 5 lignes de la table, sans boutons, je peux faire ceci:
TableLayout tblLayout = (TableLayout)findViewById(R.id.tableLayout);
TableRow row = (TableRow)tblLayout.getChildAt(0); // Here get row id depending on number of row
String Text = row.getText().toString();
OriginalL'auteur user370305
Ce que vous pouvez faire est de trouver l'instance de
TableLayout
à l'aide depuis en utilisant
getChildCount()
vous pouvez parcourir chaque enfant deTableLayout
etTableRow
, également préférable de vérifierView
en utilisantinstanceof
de sorte que vous n'obtenez pas deNPE
.OriginalL'auteur Lalit Poptani