Tôi gặp lỗi rất lạ. Tôi có 2 hoạt động. Trên cả tôi nhận được SharedPreferences
sử dụng MODE_PRIVATE
(nếu vấn đề) bởi sp = getPreferences(MODE_PRIVATE);
trên mỗi hoạt động onCreate()
Tôi gọi sp.getBoolean(IntroActivity.SHOW_INTRO, true)
Ngoại lệ lạ: Không thể truyền chuỗi sang Boolean khi sử dụng getBoolean
Trên IntroActivity
này làm việc tốt. Nhưng khi tôi đang cố gắng trong hoạt động chính, tôi nhận được này
10-12 04:55:23.208: E/AndroidRuntime(11668): FATAL EXCEPTION: main
10-12 04:55:23.208: E/AndroidRuntime(11668): java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.app.SharedPreferencesImpl.getBoolean(SharedPreferencesImpl.java:242)
10-12 04:55:23.208: E/AndroidRuntime(11668): at com.lablabla.parkme.ParkMeActivity$2.onClick(ParkMeActivity.java:194)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.view.View.performClick(View.java:4084)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.view.View$PerformClick.run(View.java:16966)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.os.Handler.handleCallback(Handler.java:615)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.os.Handler.dispatchMessage(Handler.java:92)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.os.Looper.loop(Looper.java:137)
10-12 04:55:23.208: E/AndroidRuntime(11668): at android.app.ActivityThread.main(ActivityThread.java:4745)
10-12 04:55:23.208: E/AndroidRuntime(11668): at java.lang.reflect.Method.invokeNative(Native Method)
10-12 04:55:23.208: E/AndroidRuntime(11668): at java.lang.reflect.Method.invoke(Method.java:511)
10-12 04:55:23.208: E/AndroidRuntime(11668): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-12 04:55:23.208: E/AndroidRuntime(11668): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-12 04:55:23.208: E/AndroidRuntime(11668): at dalvik.system.NativeStart.main(Native Method)
Tôi chắc chắn rằng tôi sẽ không đặt một đâu đó String
ở giữa với cùng chìa khóa
ý tưởng Bất kỳ?
Cảm ơn!
EDIT: một số mã:
//onCreate()
sp = getPreferences(MODE_PRIVATE);
// other method
boolean showIntro = sp.getBoolean(IntroActivity.SHOW_INTRO, true); // Exception is here
showIntroCheckBox.setChecked(showIntro);
Nếu vấn đề, mã mà ném ngoại lệ là bên trong của một nút onClick
Bạn có thể đăng mã để các lập trình viên giúp bạn không? :) –
Bạn cần mã nào? Tôi đã viết mọi thứ liên quan đến SharedPrefernces .. –
trong ParkMeActivity.java –