【发布时间】:2021-09-12 19:58:47
【问题描述】:
好的,所以我使用
在我的共享首选项中存储了很长的内容e.putLong("startTime", SystemClock.uptimeMillis());
我是从分享偏好中得到的,比如
SHARED_PREFS = context.getSharedPreferences(LOCAL_PREF, MODE_PRIVATE);
long startTime = SHARED_PREFS.getLong("startTime", 0L); <-- Stack trace points to this line.
但我在某些设备上收到此错误,但不知道为什么,我根本不想将其转换为 String。
java.lang.Long cannot be cast to java.lang.String
我发现的所有内容都指向尝试将其设置为 String 值,而我根本不想这样做,我正在尝试直接使用 long 值。
** 更新堆栈跟踪 **
Caused by: java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String
at android.app.SharedPreferencesImpl.getString(SharedPreferencesImpl.java:255)
at com.tech.utility.Tools.refreshPrefs(Tools.java:193)
at com.tech.activity.Menu_dashboard.onStart(Menu_dashboard.java:762)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1340)
at android.app.Activity.performStart(Activity.java:7191)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2920)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
at android.app.ActivityThread.-wrap11(Unknown)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6940)
at java.lang.reflect.Method.invoke(Method.java:-2)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
【问题讨论】:
-
@Carcigenicate 我更新了我的堆栈跟踪。