gpt4 book ai didi

java - SharedPreferences.Editor NPE

转载 作者:行者123 更新时间:2023-11-30 00:57:29 24 4
gpt4 key购买 nike

<分区>

我一直在为共享偏好而苦苦挣扎,查看了帖子和教程,但无法让它发挥作用。

我最终从 android.dev 复制了这段代码,但它对我也不起作用。我所做的唯一改变是
1. 扩展 AppCompatActivity 而不是 Activity。
2. 添加printlns和
3. getSharedPreferences 的参数。

在 SharedPreferences.Editor 的 onPause() 中出现 NPE 失败。我在 onStart() 中没有发现任何异常。

有人可以告诉我我缺少什么吗?提前致谢!

public class MainActivity extends AppCompatActivity {
static final int DAY_VIEW_MODE = 0;
static final int WEEK_VIEW_MODE = 1;

private SharedPreferences mPrefs;
private int mCurViewMode;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

System.out.println("onCreate() ");
SharedPreferences mPrefs = getSharedPreferences("MyPrefFile", 0);
mCurViewMode = mPrefs.getInt("view_mode", DAY_VIEW_MODE);
}

protected void onPause() {
super.onPause();

System.out.println("onPause() ");
SharedPreferences.Editor ed = mPrefs.edit();
ed.putInt("view_mode", mCurViewMode);
ed.commit();
}
}

这是logcat,是你请求的错误日志吗?抱歉,我对此很陌生。 (呃……有没有更好的分享方式?)

java.lang.RuntimeException: Unable to pause activity {temperatureconverter.android.vogella.com.prefsfromandroiddev/temperatureconverter.android.vogella.com.prefsfromandroiddev.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2902)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2858)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2836)
at android.app.ActivityThread.access$900(ActivityThread.java:140)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1254)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4921)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at temperatureconverter.android.vogella.com.prefsfromandroiddev.MainActivity.onPause(MainActivity.java:38)
at android.app.Activity.performPause(Activity.java:5286)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1240)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2889)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2858) 
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2836) 
at android.app.ActivityThread.access$900(ActivityThread.java:140) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1254) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:137) 
at android.app.ActivityThread.main(ActivityThread.java:4921) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:511) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 
at dalvik.system.NativeStart.main(Native Method)

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com