Préférences sans des méthodes obsolètes
Je suis en train de (correctement) mettre en place un écran de préférences, mais le problème est que toutes les méthodes de préférences de lecture à partir de fichiers xml sont obsolètes (ou je ne les reconnaissent pas). L'officiel des exemples de code sur le site dev (PreferenceActivity) utilise des méthodes obsolètes. Quelqu'un a trouvé un moyen de mettre en œuvre un écran de préférences avec un fichier xml, mais sans l'aide de: addPreferencesFromResource(int) ou findPreference(CharSequence)? Ou qui ont des méthodes tout simplement été marquée obsolète sans la mise en œuvre de l'alternative encore?
EDIT: le Développement de la version Android 2.1
À partir de la version à laquelle vous souhaitez vous appuyer? Comme je vois qu'il a été changé depuis le 11. Si vous utilisez quelque chose en dessous de cela, alors il n'est pas obsolète pour eux.
OriginalL'auteur SBoss | 2011-06-28
Vous devez vous connecter pour publier un commentaire.
Pourquoi ses obsolète et qu'est-ce que l'alternative est assez bien expliqué dans la documentation:
En d'autres termes, si vous voulez être en NID d'abeille conforme, alors vous devriez utiliser PreferenceFragment pour votre
PreferenceActivity
. Une explication détaillée sur la façon d'utiliser les fragments peuvent être trouvés dans dev guide.Tout d'abord, les mises en page sont vues. Donc, vous êtes essentiellement en demandant au sujet de
ViewFragment
. Et, bien, votre question est étrange. Parce queView
s sont totalement différentes créatures, et ils sémantiquement n'ont rien en commun avecActivities
ouFragments
. Par conséquent, il n'y a aucun sens à avoirViewFragment
. Et si il y avait des raisons pour l'avoir, c'est actuellement techniquement impossible:Fragments
ne peuvent pas contenir de subfragments, tandis queViews
peut être organisé dans un cadre sophistiqué de l'arborescence.c'est très bien, mais cela ne veut pas me dire comment il sera automatiquement stocker mes applications préférences, comme le obsolète classes
"Affichage d'un ensemble unique de préférence" signifie que si je veux seul,il n'y a pas de problème?
OriginalL'auteur inazaruk
Dans Android 3, API de Niveau 11, le fragment basée sur la préférence de modèle a été introduit, ainsi la dépréciation des méthodes qui "n'est pas pertinent pour une moderne fragment de base de PreferenceActivity."
Depuis la ligne de référence est la dernière version, il montre les méthodes déconseillé. Par la manipulation de l'API Niveau de la liste déroulante, vous pouvez sélectionner les méthodes qui ne sont pas dans la version Android, mais il ne met pas à jour les descriptions de match, ce qui est pourquoi il apparaît toujours comme obsolète.
Si vous ne prévoyez pas de soutenir Android 3+ vous devriez utiliser les anciennes méthodes, comme le fragment-based solutions ne fonctionne pas pour les versions antérieures à cela.
Pour soutenir à la fois, je ferais une mise en œuvre pour les versions qui prennent en charge le fragment basée sur les préférences et l'autre pour ceux qui ne le sont pas, et ensuite déterminer quel à utiliser à l'aide
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
. Vérifiez aussi le documentation 😉J'ai essayé d'éviter cette option, mais Im peur que c'est le seul. Merci pour votre réponse!
Eh bien, si vous voulez un soutien approprié, il est de la bonne manière, comme des fragments ne sont pas pris en charge avant la version 3 et la méthode précédente a été déprécié depuis la version 3. Vous pouvez simplement le faire à l'ancienne et de l'espoir que les méthodes sont toujours obsolète qui n'est pas totalement supprimé, mais ce n'est vraiment pas viable.
Oui, j'ai essayé avec l'ancienne méthode findpreference() sur Android 4.1 et il ne marche pas exécuter. Je vais mettre les deux manières dans l'application.
OriginalL'auteur Flygenring