Je suis en train d'écrire une application pour la version 4.0 et 4.1 comprimés, pour laquelle je ne veux pas utiliser les bibliothèques de prise en charge (si nécessaire), mais le 4.x api uniquement donc.
Donc, mon objectif de la plateforme est très bien défini: >= 4.0 et <= 4.1
L'application dispose d'un multi-volet mise en page (deux fragments, l'un petit, sur la gauche, un fragment de contenu sur la droite) et une barre d'action avec des onglets.
Similaire à ceci:
En cliquant sur un onglet sur la barre d'action change la 'extérieur' fragment, et l'intérieur fragment est alors un fragment de imbriquées fragments (1. petite liste de gauche fragment, 2. large fragment de contenu).
Je suis maintenant vous vous demandez quelle est la meilleure pratique pour remplacer les fragments et surtout imbriquée fragments. Le ViewPager fait partie de la bibliothèque de prise en charge, il n'y a pas natif 4.x alternative pour cette classe. Semblent être "obsolète" à mon sens. - http://developer.android.com/reference/android/support/v4/view/ViewPager.html
Puis j'ai lu les notes de version pour Android 4.2, concernant l' ChildFragmentManager
, ce qui serait un bon ajustement, mais je suis ciblage 4.0 et 4.1, donc cela ne peut pas être utilisé.
ChildFragmentManager
n'est disponible que dans la version 4.2
- http://developer.android.com/about/versions/android-4.2.html#NestedFragments
- http://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager()
Malheureusement, il n'existe pratiquement pas de bons exemples qui montrent les meilleures pratiques pour les fragments d'usages sans le soutien de la bibliothèque, même dans l'ensemble de développeur Android guides, et surtout rien de ce qui concerne imbriquée fragments.
Alors je me demande: est-il tout simplement pas possible d'écrire 4.1 applications avec imbriqué fragments sans l'aide de la bibliothèque de prise en charge et de tout ce qui vient avec elle? (besoin d'utiliser FragmentActivity au lieu de Fragment, etc.)? Ou quelle serait la meilleure pratique?
Le problème que je rencontre actuellement dans le développement est exactement cette déclaration:
Le Android Support Library supporte également imbriqués fragments, de sorte que vous peut mettre en œuvre imbriquée fragment de dessins sur Android 1.6 et supérieur.
Remarque: Vous ne pouvez pas gonfler une mise en page dans un fragment lors de la mise en comprend un
<fragment>
. Imbriqués les fragments ne sont pris en charge lorsqu'il est ajouté un fragment de façon dynamique.
Parce que j'ai mis définir la imbriquée des fragments XML, qui, apparemment, est la cause d'une erreur de ce type:
Caused by: java.lang.IllegalArgumentException: Binary XML file line #15: Duplicate id 0x7f090009, tag frgCustomerList, or parent id 0x7f090008 with another fragment for de.xyz.is.android.fragment.CustomerListFragment_
Pour le moment, je termine pour moi-même: même sur 4.1, quand je ne veux pas même cible que le 2.x plate-forme, imbriqués les fragments, comme illustré dans la capture d'écran ne sont pas possibles sans le soutien de la bibliothèque.
(Ce pourrait être en réalité plus d'une entrée wiki n'est pas une question, mais peut-être que quelqu'un d'autre a réussi auparavant).
Mise à jour:
Une réponse utile est: Fragment Fragment à l'Intérieur