无法将Set <string>放在sharedPreferences.putStringSet()中?

时间:2019-03-01 02:40:36

标签: java android

早上好!我正在尝试创建一个待办事项列表,我想通过sharedPreferences做到这一点。问题是,一旦我获得了位置的内容,然后将其添加到列表的内容中,并尝试将其推回sharedPreferences,我会遇到一个奇怪的错误。这对我来说没有意义,因为taskSet集是由sharedPreferences中的项目定义的,那么它怎么可能是错误的类型?

    public void putInSharedPreferences(View view){
    Intent i = getIntent();
    SharedPreferences sp = getSharedPreferences("storage", Context.MODE_PRIVATE);
    Set<String> taskSet = sp.getStringSet("taskSet", new HashSet<String>());


    String task = i.getStringExtra("taskText");
    taskSet.add(task);
    sp.edit().putStringSet(taskSet).apply();

    int minutes = i.getIntExtra("chosenMinutes", 0);


}

我收到的错误:

  

编辑器中的putStringSet(java.lang.String,Set)无法应用于(java.util.Set)

1 个答案:

答案 0 :(得分:4)

putSetString()带有两个参数:一个密钥String和一个Set<String>。因此,您将像这样放置布景:

    sp.edit().putStringSet("taskSet", taskSet).apply();

有关更多信息,请参见方法定义here