早上好!我正在尝试创建一个待办事项列表,我想通过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)
答案 0 :(得分:4)
putSetString()
带有两个参数:一个密钥String
和一个Set<String>
。因此,您将像这样放置布景:
sp.edit().putStringSet("taskSet", taskSet).apply();
有关更多信息,请参见方法定义here。