2010-05-07 7 views
4

J'ai un listview où chaque élément est corrélé à une instance d'un élément dans un tableau. Lorsque l'utilisateur sélectionne un élément, il affiche une page "Détails" qui lit et affiche les autres membres de l'élément de liste.Écran ListView Item Detail: Nouvelle ou même activité?

Cela serait-il mieux implémenté avec la page Détails comme activité propre, ou une nouvelle vue dans la même activité? Avantages et inconvénients de chacun?

Une nouvelle activité rend mon travail un peu plus facile en termes de manipulation du bouton 'retour', mais alors j'ai le défi de comment passer le reste de la structure de données à la nouvelle activité car je ne peux pas regrouper vers le haut (à moins que je le sérialise).

****** EDIT **** Essentiellement, j'ai une liste de lecture où l'élément de la liste montre le titre, le numéro d'article , et une icône. Cliquez sur l'élément pour afficher un écran de description complète. Je penche pour la contenir dans l'activité de la liste de lecture puisque toutes ces données sont contenues là.

Répondre

0

Cela dépend de la façon dont vous le voulez, je recommande d'utiliser une nouvelle activité pour les choses avec beaucoup d'informations; surtout si vous avez besoin d'interactivité comme des liens.

Pro avec ceci sont principalement le flux de l'application. l'utilisateur peut utiliser le bouton de retour pour naviguer plus facilement.

l'être de Con avoir à une nouvelle activité dans son ensemble pour voir les détails

Si vous êtes, cependant, juste étendre une description, vous pouvez utiliser une boîte de dialogue.

0

Cela dépend de si vous voulez être capable d'appeler cet élément de quelque part d'ailleurs, puis le diviser en une activité distincte est le chemin à parcourir. En ce qui concerne la façon d'obtenir les données, pourquoi ne pas simplement passer l'intention avec un ID de l'élément, puis le charger à partir de votre banque de données en fonction de l'ID.

0

mais j'ai le défi de la façon dont dois-je passer le reste des données structure à la nouvelle activité puisque je ne peux pas bundle (à moins que je sérialiser il).

Ou, déplacez votre modèle en dehors du Activity initial. Par exemple, vous pouvez faire en sorte que votre liste soit détenue par un Service auquel chaque Activity se lie et qu'il gère le modèle. Ou, faites en sorte que le modèle soit conservé dans des membres de données statiques (attention aux problèmes du GC). Ou, si finalement cela sera dans une base de données, l'amener à la base de données maintenant, alors il suffit de passer la clé à l'élément via un extra, donc l'activité de détail peut l'obtenir à partir de la base de données.

+0

Pour les applications globales, j'ai sous-classé l'application et l'utilisation de champs dans celle-ci. Cependant, retirer mes éléments de playlist de mes activités liées à la playlist serait une grosse rupture de convention. Je dois penser à celui-ci. – stormin986

Questions connexes