11
votes

Préférencefragment.findpreference retourne toujours null

Je tente actuellement de faire un menu Paramètres, qui affichera un multiselectlistpreference , pour sélectionner plusieurs contacts à partir de votre liste de contacts.

En ce moment, je reçois un NullPoinpoinException , lorsque j'essaie de MultiselectListPréférence # SetentryValue (Chaluquant []) Si je mettez d'abord le setentries , que l'on jette la même exception.

J'ai mis un point d'arrêt, pour voir étape par étape. Qu'est-ce qui se passe. Les variables sont remplies car elles stockent strings , ils peuvent contenir une chaîne "null", donc je suppose que cela n'échoue pas s'il n'y a pas display_name < / Code> Disponible ou donc.

i basé sur la figureference sur l'exemple de Cette réponse

Quelqu'un a une idée? Si vous avez besoin de plus d'informations, dis-moi. Merci de lire! xxx

edit: OK, j'ai fait quelques contrôles supplémentaires. -J'ai fait une préférence de test dans mon XML et utilisé la FindPefence pour faire un objet de travailler avec -> retourne null -J'ai défini ma clé de mon multisélectristlistPréférence sur @ String / Test, que cela dans mes strings.xml, la figurefet retourne toujours NULL.

Peut y avoir un problème avec mon fragment préféré?


4 commentaires

Êtes-vous sûr que FindPreference ("ContactList") renvoie la valeur réelle, pas null ?


N'a pas pensé à ça. Bon sang. Il retourne effectivement null. Je regardais la mauvaise chose. Merci!


Quelqu'un a une idée pourquoi il ne trouverait pas ma préférence? La clé est juste, elle s'appelle de la bonne façon (autant que je sache). C'est dans mon fragment. Peut-il rechercher ma préférence sur le mauvais endroit peut-être?


Pour moi c'était une erreur stupide. J'ai seulement ajouté titre au préféfinieCategory pas la clé :-(, assurez-vous que vous ajoutez également la clé Android: clé = "pre_item_key" et trouver par la clé.


4 Réponses :


25
votes

OK, j'ai trouvé ce que mon problème était. xxx

retourne null parce que xxx

n'est pas terminé au début ... Donc, il n'a pas encore chargé mes préférences.


0 commentaires

6
votes

Vous pouvez résoudre ce problème en utilisant xxx

avant xxx


0 commentaires

1
votes

Dans mon cas, j'essayais d'utiliser FindPreferences dans ONCREATE de la préfecture enfermante. Je l'ai éliminé sur Oncreate du fragment de préférence et ça marche bien.


0 commentaires

0
votes

Vous pouvez résoudre ceci en plaçant toutes les fonctions d'accès au contenu à l'intérieur des éléments suivants. Fragment rappel xxx


0 commentaires