2011-10-25 2 views
1

J'ai le "problème" suivant.Android: meilleure façon de remplir l'activité avec de nouvelles données

Je veux avoir une activité qui me montre le classement de certaines équipes à un jeu spécifique.

donc j'ajouterais un spinner et un TableLayout. Au premier départ, l'activité devrait montrer les classements du gameday réel, mais vous pouvez choisir n'importe quel autre gaymeday et le statut devrait être mis à jour.

Quel est le meilleur moyen de créer cette activité?

  1. assemblez le tout TableLayout avec tous tablerows et TextViews, leur donner ids et mettre à jour ces vues par id lors de l'exécution. Problème: énorme unflexible hardcoded layout.xml

  2. assembler la mise en page lors de l'exécution, ajoutez ids, mise à jour via ids

  3. assembler la mise en page lors de l'exécution. à la mise à jour, supprimez les anciennes vues et créez-en d'autres

  4. assembler la mise en page pendant l'exécution. à la mise à jour, relancez l'activité

Vous voulez savoir quel est le meilleur. ou est-il une autre façon d'y parvenir

thx Cheetah

Répondre

0

Est-ce que le nombre de vues changer? Sinon. Le meilleur moyen est d'utiliser les vues déjà existantes et de mettre à jour leurs valeurs. Essayez d'éviter de recréer/regonfler des vues, car c'est une tâche coûteuse.

+0

nombre de lignes est un maximum de 8, donc si moins je suppose que je peux juste laisser quelques textviews vide – Cheetah

1

Si j'étais vous, j'utiliserais en fait un GridView avec un adaptateur. Cela résout tout le traitement des modifications de mise en page. Vous avez juste à vous soucier de mapper vos données aux vues appropriées. Cette example mappe ImageViews à un GridView, mais il n'y a aucune raison que vous ne pouvez pas mapper à TextViews contenant vos données dans un GridView. De plus, comme vous utilisez un adaptateur, vous pouvez tirer parti de toutes les classes Loader et de leur capacité de chargement asynchrone. De plus, l'utilisation de l'approche vous permettra de vous adapter facilement au changement de votre jeu de données. Vous voudrez peut-être ajouter plus de données à la table à l'avenir et cette approche vous permettra de le faire facilement sans avoir à changer constamment vos mises en page xml.

+0

+1. Ne réinventez pas la roue - utilisez un GridView ou un ListView; beaucoup de documentation dans les docs Android. – ShibbyUK

+0

@ShibbyUK ne pouvait pas l'avoir dit mieux moi-même. C'est ce que j'essaie d'obtenir ici. Ne réinventez pas la roue. –

Questions connexes