gpt4 book ai didi

android - android空指针异常中的共享首选项

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

我按 Intent 从 Activity A 移动到 Activity B。我将一些值存储在 Activity B 的共享首选项中。在 Activity A oncreate() 中,我正在获取共享首选项的值以与某些条件进行比较,但是它给了我如预期的那样出现空指针异常(因为我不去 Activity B)。但是,如果值不为空,我想编写一个条件以从共享首选项中获取数据。有人可以说我该如何实现吗?以下是我的代码:

   In Activity B: 
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MerchantLogin.this);
SharedPreferences.Editor editor = prefs.edit();
editor.putString("showdialog_login", "dontshow");
editor.commit();
In Activity A:
@Override
protected void onCreate(Bundle savedInstanceState)
{

SharedPreferences prefs =null;
prefs = PreferenceManager.getDefaultSharedPreferences(LoginScreen.this);
SharedPreferences.Editor editor = prefs.edit();


if ((prefs.getString("showdialog_login", null).equalsIgnoreCase("dontshow")))
{

}
else if((prefs.getString("showdialog_login", null).equalsIgnoreCase("true")))
{

}
else if((prefs.getString("showdialog_login", null).equalsIgnoreCase("dummy")))
{

}
else
{
editor.putString("showdialog_login", "false");
editor.commit();
}

}

但是我在这一行出现错误:

if ((prefs.getString("showdialog_login", null).equalsIgnoreCase("dontshow"))).How can i execute this block of code.

最佳答案

代替:

prefs.getString("showdialog_login", null)

使用:

prefs.getString("showdialog_login", "")

因为,如果未设置“showdialog_login”首选项的值,它将返回空值,您可能会遇到 NPE(空指针异常)。

关于android - android空指针异常中的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17190547/

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