SharedPreferences java.lang.ClassCastException on Samsung Galaxy Tab A 10.1

Viewed 218

Today I have found an error just on Samsung Galaxy Tab A 10.1 about SharedPreferences

I am saving a Long doing :

    private static final String PREF_IDE_CULTIVO_WORK_REPORT = "ID_CULTIVO_WORK_REPORT";
    private static final String PREFNAME = "PREFERENCES";

 public static void init(Context context){
        sharedPreferences = context.getSharedPreferences(PREFNAME, 0);
        editor = sharedPreferences.edit();
    }
     public static Long getIdCultivoWorkReport(){
            if (sharedPreferences == null){
                return null;
            }
            return sharedPreferences.getLong(PREF_IDE_CULTIVO_WORK_REPORT, 0);
        }
        public static void setIdCultivoWorkReport(Long b){
            if (sharedPreferences == null){
                return;
            }
            editor.putLong(PREF_IDE_CULTIVO_WORK_REPORT, b);
            editor.commit();
        }

In one class I set a value;

 PreferenceManager.setIdCultivoWorkReport(Long.valueOf(document.getPlantation().getId()));

In other class I get the value:

       if (PreferenceManager.getIdCultivoWorkReport() == 0 || PreferenceManager.getIdCultivoWorkReport() == null ) {
            allParcelList.addAll(WorkReportController.getParcelsByPlantation(plantationId));
            allSowingList.addAll(WorkReportController.getSowingsByPlantation(plantationId));
        } else{
//get other values
}

On an Galaxy Tab A I get a crash on other tablet models works fine

java.lang.ClassCastException: at android.app.SharedPreferencesImpl.getLong (SharedPreferencesImpl.java:249) at es.app.company.utils.PreferenceManager.getIdCultivoWorkReport (PreferenceManager.java:294) at es.app.company.ui.workreport.WorkReportEditTaskFragment.onActivityCreated (WorkReportEditTaskFragment.java:130) at android.support.v4.app.Fragment.performActivityCreated (Fragment.java:1970) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1041) at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1197) at android.support.v4.app.BackStackRecord.run (BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:1562) at android.support.v4.app.FragmentManagerImpl$1.run (FragmentManager.java:483) at android.os.Handler.handleCallback (Handler.java:739) at android.os.Handler.dispatchMessage (Handler.java:95) at android.os.Looper.loop (Looper.java:148) at android.app.ActivityThread.main (ActivityThread.java:7303) at java.lang.reflect.Method.invoke (Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230) at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120

What I am doing wrong??

1 Answers
Related