Création de plusieurs objets à l'aide de la boucle
Ce que je veux, c'est créer de vues multiples dans la boucle for
exemple
for(int i =1; i<5; i++){
GridView view = new Gridview(this);
}
Mais Il crée 5 gridview avec le même nom.. donc, à l'avenir je ne peux pas définir l'option différente à un gridview. Comment puis-je obtenir gridivew créé dans une boucle obtenir view + j'ai le nom de
de quoi êtes-vous tring à atteindre? êtes-vous sûr que vous ne pouvez pas utiliser un adaptateur? ou gonfler certaines de mise en page?
OriginalL'auteur artouiros | 2011-05-20
Vous devez vous connecter pour publier un commentaire.
Utiliser une Liste
Ensuite, vous pouvez obtenir votre point de vue avec
Bien sûr. J'ai édité ma réponse.
OriginalL'auteur Buhb
Aussi, dans votre exemple, lors d'une étape de la
for
la boucle se termine, la référence à cet objet est perdu, comme le cadre dans lequel elles ont été créées est de gauche. Sans la référence aux objets, le Garbage Collector vient et libère de la mémoire, la suppression d'objets.Donc, vous ne serez pas en mesure d'accéder même pas le dernier objet créé. Si vous modifiez le code comme celui-ci, à la fin de ce code, vous aurez seulement le dernier objet instancié:
Maintenant l'objet existe dans le domaine, vous êtes à la fin de l'extrait de code. Mais un seul objet existe vraiment.
Donc, la solution est de stocker les objets dans certains supplémentaire de la structure: un tableau si vous savez précisément comment beaucoup d'objets que vous le souhaitez, ou une partie d'auto-alloués dynamiquement structure de collecte. Et vous avez des exemples à la fois dans les autres réponses.
Ajouté: Ce que vous êtes en train de demander à (dynamiquement pour construire la référence d'un objet nom) est appelée la métaprogrammation. Je ne sais pas si c'est possible en Java, mais voici un exemple de ce fait en PHP:
Ici est exécutable, code: http://codepad.org/bFqJggG0
OriginalL'auteur Iulius Curt
Utiliser un
List
deGridViews
.OriginalL'auteur Haphazard
Je pense que ce code va créer 5 GridViews, 4 seront immédiatement disponibles pour la Collecte des Ordures que votre code n'a plus de référence à eux.
Si vous les créez dans une boucle, alors je pense que je serais à la recherche pour les stocker dans une structure de données telle qu'une Liste ou sur la Carte et ensuite y accéder via un index ou d'une clé.
OriginalL'auteur DaveH
je pense que vous pouvez faire quelque chose comme ceci :
et puis , vous pouvez la différence entre tous les points de vue
OriginalL'auteur Houcine
Maintenant, je pense que vous pouvez définir des options spécifiques.
OriginalL'auteur Ritesh