2011-10-24 4 views
12

Je suis en train de créer une application qui nécessite des tabulations, désormais obsolètes. Le guide de développement dit d'utiliser Fragments pour remplacer les onglets à la place. Cependant, mon application doit avoir des fragments dans chaque onglet, ce qui signifie des fragments à l'intérieur des fragments, ce qui n'est pas autorisé. Est-ce que quelqu'un sait d'un travail possible autour de cela?Fragments dans les onglets de fragmentation

Répondre

3

Alors que le support de la barre d'action pour les onglets est conçu pour rendre facile le contenu d'un onglet, ce n'est pas strictement nécessaire. Vous pouvez utiliser ViewFlipper, les appels répétés à setContentView(), ou quelque chose à organiser pour modifier d'autres choses lorsque l'onglet de la barre d'action est sélectionné. Avant la barre d'action native (Android 1.x/2.x), utilisez les onglets classiques ou utilisez Action Bar Sherlock pour obtenir une barre d'action et des onglets.

+0

L'utilisation d'un ViewFlipper serait-elle plus efficace que l'appel de setContentView à chaque changement d'onglet? Est-ce l'inverse ou la différence est-elle négligeable? –

+1

@TJThind: Si vous gonflez les mises en page vous-même et les fournissez à 'setContentView()', au lieu de donner 'setContentView()' l'ID layout, 'setContentView()' et ViewFlipper' seront équivalents vitesse et mémoire sage. Appeler 'setContentView()' comme vous le faites normalement, avec un ID de ressource, serait plus lent (se gonfle à chaque fois, plus vous devez câbler vos écouteurs d'événement à chaque fois) mais attacher moins de tas (widgets supprimés par le 'setContentView suivant() 'l'appel pourrait être récupéré, s'il est fait correctement). – CommonsWare

1

Je simule des onglets en plaçant un fragment d'onglets en haut qui contient plusieurs boutons à bascule. Ci-dessous, j'ai une vue de fusion contenant un fragment séparé pour chaque onglet. Je réponds aux pressions exercées sur un bouton bascule en désactivant les autres boutons, en montrant le fragment de cet «onglet» et en cachant les autres.

+0

Pourriez-vous expliquer ce que vous voulez dire par vue de fusion? – Lance

+0

http://developer.android.com/resources/articles/layout-tricks-merge.html – goto10

+0

Est-il possible que vous pourriez me montrer un exemple de code, en particulier un fichier de mise en page XML? J'ai du mal à comprendre comment accomplir cela. – Lance

0

son petit retard, mais oui vous pouvez :) voici example mais pour fragment à l'intérieur du fragment à l'intérieur de l'onglet n'est pas un moyen natif android, vous devez commencer une nouvelle fragmentActivity si vous voulez montrer le détail du fragment. vous pouvez mais n'est pas un moyen android!

Questions connexes