2017-03-07 3 views
2

Mon application contient une listPreference avec des entrées et une liste de entryValues ​​dans mon strings.xmlListPreference, obtenir la valeur du fragment

Je veux recevoir la valeur du dans un PreferenceFragment entrée sélectionnée.

À l'heure actuelle, j'utilise le code suivant pour extraire ces valeurs (et plus tard, convertir la chaîne en un entier pour l'utiliser pour une URL qui dépend de variables).

@Nullable 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      myView = inflater.inflate(R.layout.first_layout, container, false); 


ListPreference lP = (ListPreference) findPreference("example_list"); 
String currValue = lP.getValue(); 

int aktuelleklasse = Integer.valueOf(currValue); 


return myView; 
} 

malheureusement, je reçois une erreur, en disant

java.lang.NullPointerException: Tentative d'invoquer la méthode virtuelle 'java.lang.String android.preference.ListPreference.getValue()' sur un null Référence de l'objet

Alors, que dois-je faire pour obtenir ma valeur sans erreur? (J'ai des compétences assez basiques alors ne me jugez pas, si c'est un problème évident :))

Merci d'avance!

Répondre

2

Faites-vous un addPreferencesFromResource(R.xml.preferencesFile) avant cette section de code?
Voir PreferenceFragment.findPreference always returns NULL

+0

Non, pourriez-vous s'il vous plaît me dire, où je dois chercher mon texte correspondant pour "preferencesFile"? – Quacksilber

+0

C'est le nom du fichier XML de vos préférences. Voir le tutoriel Vogella à http://www.vogella.com/tutorials/AndroidFileBasedPersistence/article.html#create-preference-file – LppEdd

+0

oh, j'aurais pu penser à ce xD. Merci beaucoup! Tout fonctionne bien maintenant! – Quacksilber