0

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

editor.putString("割绳子", "Category 1");

在另一个活动中,我想使用此 SharedPreference 来创建仅包含 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。

4

1 回答 1

0

这里的问题是在添加seditor.commit()之后从未插入过,因此它们从未被保存。否则,此代码检索是正确的。StringSharedPreferencesSharedPreferences

OP要求的一些调试链接

这个不一定是关于调试的,但有一些很好的信息

Eclipse 调试

关于调试的YouTube 视频-请注意,我刚刚浏览了其中的一些内容,但看起来它可能会有所帮助

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

于 2013-06-25T22:50:31.617 回答