I just came across the same issue and can confirm the same behaviour: *android:defaultValue* of a custom DialogPreference is *not* set with PreferenceManager.setDefaultValues() method.
Seems like a bug? I'm using now the solution that you proposed... On Thursday, 13 October 2011 23:11:27 UTC+2, tlegras wrote: > > Okay, I give up. > My preference default value will be copied in the preference access code > as well: > > value = sharedPref.getInt(mykey,myDirtyHardcodedDefaultValue ); > > > If ever someone has a better solution, it will be welcome :) > > Thierry. > > > 2011/10/11 Thierry Legras <tleg...@gmail.com> > >> Hi Ibendlin, >> >> Thanks for helping me :) >> >> I don't think the problem is in SeekBarPreference.onSetInitialValue() >> function itself as it is never called (I have put a log in it to check). >> There is certainly an issue somewhere in my implementation; when >> setDefaultValues is called, only SeekBarPreference constructor is called. >> >> I was suspecting the xml, but I don't see any problem in it >> (android:defaultValue is set and android:persistent as well): >> >> <com.tlegras.tools.SeekBarPreference >> android:key="preferences_epg_daytostore" >> android:title="@string/preferences_epg_daytostore_title" >> android:summary="@string/preferences_epg_daytostore_summary" >> android:dialogMessage="Nombre de journées à télécharger. >> Attention, plus ce nombre est élevé, plus le chargement sera long et >> moins l'application sera réactive." >> android:text=" jour(s)" >> android:defaultValue="4" >> android:max="5" >> android:persistent="true" >> /> >> >> >> 2011/10/11 lbendlin <l...@bendlin.us> >> >>> it took me a few weeks to get that right. here's my example for a >>> boolean value. And yes, .setDefaultValues is actually working, despite what >>> you may think :-/ >>> >>> @Override >>> protected void onSetInitialValue(boolean restoreValue, Object >>> defaultValue) { >>> boolean temp = restoreValue ? getPersistedBoolean(false) : >>> defaultValue.toString().equals("true") ? true : false; >>> if (!restoreValue) >>> persistBoolean(temp); >>> this.oldValue = temp; >>> } >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Android Developers" group. >>> To post to this group, send email to android-developers@googlegroups.com >>> To unsubscribe from this group, send email to >>> android-developers+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/android-developers?hl=en >> >> >> >> >> -- >> Thierry. >> > > > > -- > Thierry. > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en