android-support-preference: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer SeekBarPreference.onSetInitialValue
Can you please look into this crash? From time to time I see this crash reported, but it’s a rare one.
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{.MyActivity}: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:242)
at android.support.v7.preference.Preference.getPersistedInt(Preference.java:1709)
at net.xpece.android.support.preference.SeekBarPreference.onSetInitialValue(SeekBarPreference.java:274)
at android.support.v7.preference.Preference.dispatchSetInitialValue(Preference.java:6517)
at android.support.v7.preference.Preference.onAttachedToHierarchy(Preference.java:1257)
at android.support.v7.preference.PreferenceGroup.addPreference(PreferenceGroup.java:194)
at android.support.v7.preference.XpPreferenceInflater.android.support.v7.preference.PreferenceGroup.addItemFromInflater(XpPreferenceInflater.java:4126)
at android.support.v7.preference.XpPreferenceInflater.rInflate(XpPreferenceInflater.java:293)
at android.support.v7.preference.XpPreferenceInflater.rInflate(XpPreferenceInflater.java:293)
at android.support.v7.preference.XpPreferenceInflater.inflate(XpPreferenceInflater.java:103)
at android.support.v7.preference.PreferenceInflater.inflate$7af30e91(PreferenceInflater.java:112)
at android.support.v7.preference.XpPreferenceManager.inflateFromResource$6154c3e6(XpPreferenceManager.java:67)
at .MyFragment.android.support.v7.preference.PreferenceFragmentCompat.addPreferencesFromResource(MyFragment.java:9432)
at android.support.v7.preference.XpPreferenceFragment.onCreatePreferences(XpPreferenceFragment.java:54)
at android.support.v7.preference.PreferenceFragmentCompat.onCreate(PreferenceFragmentCompat.java:224)
at android.support.v4.app.Fragment.performCreate(Fragment.java:2329)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1377)
at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1109)
at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:996)
at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:99)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2364)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
at android.support.v4.app.FragmentActivity.android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentActivity.java:16192)
at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
at .MyActivity.onStart(MyActivity.java)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1256)
at android.app.Activity.performStart(Activity.java:6972)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2937)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
About this issue
- Original URL
- State: open
- Created 7 years ago
- Comments: 22 (9 by maintainers)
It’s not XML related, it crashes because it’s trying to load the value from hard drive and it finds a String instead of the expected integer.
Did you by any chance use the same key “volume” for anything else? Or did you edit shared preferences manually? This is the only thing that comes to my mind…
Unless… “volume” is a very generic name, some library you’re using may be writing in your default shared preference file.
In that case the default value is
0
.just uninstall your app and then install it. look like you saved string on that key before. or change the key or clear app data then check