我的代码如下:
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); editor.putInt("favID"+ID,1); editor.commit(); Toast.makeText(getApplicationContext(),"Select as favorite",Toast.LENGTH_SHORT).show();
现在我想检索那些数据,所以我在其他活动中使用了以下代码:
strFav = new ArrayList<Integer>(); if(strFav.size()>0) strFav.clear(); SharedPreferences prefs = getPreferences(MODE_PRIVATE); for (int i = 1; i < 19; i++) { int favID = prefs.getInt("favID"+i,-1); if (favID != -1) { strFav.add(i); } }
在检索数据时,我得到的所有值都是-1.
任何人都可以帮助我为什么会这样吗?我已经将许多条目作为1提交,但我仍然得到-1所有结果.
解决方法 有关getPrefernces方法,请参阅 docs:RetrIEve a SharedPreferences object for accessing preferences that are private to this activity.
因此,如果要在活动之间共享首选项,则应使用具有指定名称的getSharedPreferences
.
以上是内存溢出为你收集整理的android – SharedPreferences只返回默认值全部内容,希望文章能够帮你解决android – SharedPreferences只返回默认值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)