【发布时间】:2011-08-08 17:04:04
【问题描述】:
在我的应用中,我有三个活动,分别名为 Home、SignIn 和 Add Page。
在我的主屏幕中,我已声明共享首选项如下
Idprefs = PreferenceManager.getDefaultSharedPreferences(this);
int UserId = Idprefs.getInt("useridValue", 0);
如果 UserId ==0 我去登录活动,否则去 AddPage
在我的登录活动中,用户必须输入用户名和密码,我从服务器返回一个 xml 文件中的 id,我正在对其进行解析并将其存储为共享首选项。
要在其他活动中使用此值,我已将其声明如下
public static SharedPreferences Idprefs;
在我的 oncreate 方法中我有这个
Idprefs = PreferenceManager.getDefaultSharedPreferences(this);
根据我存储在共享首选项中的解析值
SharedPreferences.Editor editor = Idprefs.edit();
editor.putInt("useridValue", userid);
editor.commit();
在我的第三个活动中,我有以下内容
int User = SignIn.Idprefs.getInt("useridValue",0);
这里我将用户值用于其他目的。
现在的问题是上述所有功能在我启动应用程序时第一次正常工作,即它会像
HomeScreen--> SignIn --> AddPage
但是当应用第二次关闭和打开时,流程如下
HomeScreen --> AddPage
现在应用程序崩溃了,我记录它指的是 AddPage Activity 中的以下行
int User = SignIn.Idprefs.getInt("useridValue",0);
第二次登录页面没有被调用,所以它会崩溃。我如何在其他活动中获得储值,请帮助我
【问题讨论】:
-
你能粘贴 DDMS 日志吗?