试图导入值的SharedPreference?

时间:2013-06-25 22:10:07

标签: android gridview

我在一个活动中使用SharedPreferences来基本上将一堆数据存储在类似HashMap的方法中。特别是,应用程序名称(String)及其各自的排序为1类,2类或3类应用程序。像:

editor.putString(“Cut the Rope”,“Category 1”);

在另一个活动中,我想使用此SharedPreference创建仅属于Category 1应用程序的ArrayList。以下是我认为可以做到的事情:

ArrayList<String> cat1Apps = new ArrayList<String>();
SharedPreferences stored = getSharedPreferences("Sorted Apps", 0);
SharedPreferences.Editor editor = stored.edit();
Map<String, ?> mappedPreferences = stored.getAll();

for(Map.Entry<String, ?> entry: mappedPreferences.entrySet()){
    if(entry.getValue().toString().equals("Category 1")){
        cat1Apps.add(entry.getKey());
    }
}

出于某种原因,这不起作用。我正在使用这些应用程序名称,然后有一些代码可以创建第1类应用程序的GridView显示。如果我只是定义cat1Apps.add()一堆时间,这很好,但如果我尝试通过上面的SharedPreferences导入,它不会创建GridView。

1 个答案:

答案 0 :(得分:0)

此处的问题是,在editor.commit()添加String之后从未插入SharedPreferences,因此永远不会保存它们。否则,此代码检索SharedPreferences是正确的。

OP要求的一些调试链接

This one isn't necessarily about debugging but has some good information

Eclipse Debugging

YouTube video onDebugging - 注意我刚刚浏览了一些内容,但看起来可能会有所帮助

当他们说“右击并单击切换断点”时,你也可以双击边距,你应该看到一个绿点,这意味着那里有一个断点。双击绿点以删除断点。