You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android执行SharedPreferences.Editor.remove报NullPointerException如何解决?

故障原因

你的AnaEkranActivity中全局声明的SharedPreferences.Editor类型变量editor没有被正确初始化,是空对象,调用remove方法时触发空指针闪退。

你在onCreate里写的代码是:

sp = getSharedPreferences("Bilgiler",MODE_PRIVATE);
sp.edit();

这里调用sp.edit()生成了Editor实例,但没有赋值给你声明的editor变量,导致editor一直为null。

修复方法

把sp.edit();修改为:

editor = sp.edit();

即可解决闪退问题。

可选优化

跳转回MainActivity后可以调用finish()销毁当前的AnaEkranActivity,避免返回栈残留冗余页面,修改后的点击事件代码如下:

buttonCikisYap.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        editor.remove("username");
        editor.remove("password");
        editor.commit();
        startActivity(new Intent(AnaEkranActivity.this,MainActivity.class));
        finish();
    }
});

内容的提问来源于stack exchange,提问作者user13088719

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 13:15:02