DevAndroid Posted July 7, 2010 Share Posted July 7, 2010 Salut, j'ais un codes dans lequel j'utilisai un String avec les Préférences, pour des raisons pratique, je suis passé aux int. Jais dons fait les modification nécessaire mais [color=red]sa[/color] fonctionne pas. Quelqu'un aurait la soluce svp??? Link to comment Share on other sites More sharing options...
Nivek Posted July 7, 2010 Share Posted July 7, 2010 Il faut commencer par apprendre à poser des questions claires, précises et suffisamment détaillées. Ma boule de cristal est en panne. Link to comment Share on other sites More sharing options...
DevAndroid Posted July 7, 2010 Author Share Posted July 7, 2010 Désoler, voila le code que j utilise pour enregistrer une variable de type String dans les Préférences: String pseudo = "blabla"; SharedPreferences util =PreferenceManager.getDefaultSharedPreferences(getBaseContext()); SharedPreferences.Editor editor = util.edit(); editor.putString("nom", pseudo); editor.commit(); Mais je voudrais utiliser maintenant les variables int: int pseudo = 1; SharedPreferences util =PreferenceManager.getDefaultSharedPreferences(getBaseContext()); SharedPreferences.Editor editor = util.edit(); editor.putInt("nom", pseudo); editor.commit(); voila seulement ce code juste au dessus ne marche pas. je voulais savoir quelle etais la methode pour pouvoir enregistrer des variables de type int dans les Preferences. Voila pour le LogCat : 07-09 20:44:17.967: ERROR/AndroidRuntime(423): Caused by: java.lang.ClassCastException: java.lang.String Link to comment Share on other sites More sharing options...
naholyr Posted July 7, 2010 Share Posted July 7, 2010 Hélas pas de int dans les préférences à ma connaissance, en tous cas pas tant qu'on les gère avec une PreferenceActivity. En "manuel" on peut toujours appeler preferences.edit().putInt(), mais on n'a pas ce niveau de contrôle dans une PreferenceActivity où on n'a que String et Boolean (dans le cas des checkbox). Perso je les gère : * en écriture avec un simple preferences.xml et une PreferenceActivity avec addPreferencesFromResource(R.xml.preferences). Basique. * en lecture, je caste :) Integer.parseInt(preferences.getString("pref", String.valueOf(defaultValue))); Je sais pas si c'est utile, vu que le message n'est pas hyper clair au départ, mais voilà mes 2 cents ;) Edit: OK, je suis tombé à côté du coup. Ton problème vient du fait que tu as déjà une String dans tes préférences, et que tu essaies de mettre un int à la place. En gros ça revient à faire "String variable = 42", et ça forcément ça ne marche pas :) Le plus simple : désinstaller l'application avant de re-tester, ça reset les préférences. Si l'installation est déjà déployée sur un parc d'utilisateurs, alors il faut que tu catches cette exception pour gérer le transfert. Ou encore, changer le nom de la préférence. Link to comment Share on other sites More sharing options...
Pierre87 Posted July 8, 2010 Share Posted July 8, 2010 normalement, un "put" va écraser tu dois faire une lecture qui plante avant... Link to comment Share on other sites More sharing options...
DevAndroid Posted July 8, 2010 Author Share Posted July 8, 2010 C'est bon jai trouver merci cetait un Toast qui avait pour valeur une variable int qui me faisait planter l'appli. Merci a vous Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.