Android - méthode dépréciée avertissement concernant PreferenceActivity
Lorsque je tente de suivre Android du Développeur guides et tutoriels pour la création d'un des Paramètres de l'Activité à l'aide de Préférences, je reçois des avertissements tels que:
"La méthode addPreferencesFromResource(int) à partir du type PreferenceActivity est obsolète"
pour ces deux lignes dans le code:
getPreferenceManager().setSharedPreferencesName(PREFS_NAME);
addPreferencesFromResource(R.xml.default_values);
Je sais que ce sont juste des avertissements, mais je me demandais si ils seront la cause de tous les problèmes, maintenant ou dans l'avenir, quand je suis en cours d'exécution de l'application que je suis en train de concevoir.
public class DefaultValues extends PreferenceActivity {
static final String PREFS_NAME = "defaults";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getPrefs(this);
getPreferenceManager().setSharedPreferencesName(PREFS_NAME);
addPreferencesFromResource(R.xml.default_values);
}
static SharedPreferences getPrefs(Context context) {
PreferenceManager.setDefaultValues(context, PREFS_NAME, MODE_PRIVATE,
R.xml.default_values, false);
return context.getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
}
}
Cette méthode est obsolète parce que vous devez utiliser PreferenceFragment mais vous devez l'utiliser pour les pré-versions en NID d'abeille
OriginalL'auteur jillianjiggs | 2013-02-07
Vous devez vous connecter pour publier un commentaire.
Que la méthode est obsolète, il est recommandé que vous ne l'utilisez pas dans votre code, car il est tout à fait possible qu'il peut être retiré dans les futures versions d'Android. Cependant, je suis encore à venir à travers une méthode dépréciée qui a en fait été supprimés à partir de Android.
Aucune méthode alternative n'est prévue dans la méthode de description parce que l'approche privilégiée (comme de l'API de niveau 11) consiste à instancier PreferenceFragment objets à charger vos préférences à partir d'un fichier de ressources. Voir l'exemple de code ici: PreferenceActivity
OriginalL'auteur Raghav Sood
PreferenceActivity()
est obsolète, maisPreferenceFragment()
est maintenant.PreferenceFragmentCompat()
est désormais la voie à suivre:Ajouter la dépendance
Ou dans le cas où vous êtes encore à l'aide de la bibliothèque de prise en charge:
Étendre PreferenceFragmentCompat
Montrer votre Fragment
Spécifier preferenceTheme
Dans votre AppTheme, ajouter de la façon suivante préférence thèmes, en fonction de ce que vous en pensez:
OriginalL'auteur Cristan
Raghav Sood est correct. Mais si vous avez besoin d'PreferenceFragment mauvais (j'nécessaires dans l'onglet) vous pouvez utiliser cette. Mais il peut de frein dans le futur afin de mieux utiliser ce uniquement pour l'ancienne api.
C'est un peu modifié PreferenceFragment j'ai fait avec SupportLibrary et de réflexion.
OriginalL'auteur Yaroslav Mytkalyk
L'implémentation par défaut utilise maintenant
Fragment
s. Suivantes:OriginalL'auteur Justin Breitfeller
Si vous faites face à une dépréciation d'avertissement à partir d'une méthode comme ceci :
Vous devez utiliser PreferenceFragment parce que l'API 11 et ci-dessus nécessite une telle méthode.
Voici un exemple de comment utiliser PreferenceFragment :
1.Créer /res/xml/preferences.xml pour définir nos préférences.
2.Créer PrefsFragment.java s'étend PreferenceFragment à addPreferencesFromResource.
3.Créer SetPreferenceActivity.java pour charger PrefsFragment.
4.Modifier la page principale, /res/layout/activity_main.xml, pour montrer la préférence.
5.L'activité principale, MainActivity.java.
5.Enfin, modifier AndroidManifest.xml pour ajouter SetPreferenceActivity.
OriginalL'auteur Joshua Hoe