0
我试图检索SharedPreferences上的数据。 它被映射为密钥(电影名),价值(HashSet的,包含与影片中的所有信息),像这样:从SharedPreferences获取HashSet
SharedPreferences.Editor preferencesEditor = preferences.edit();
preferencesEditor.putStringSet(movieInfo[1], new HashSet<String>(Arrays.asList(movieInfo)));
preferencesEditor.commit();
我想获取该HashSet的,以便能够使用这些信息。
我能得到这样的:
SharedPreferences preferences = getContext().getSharedPreferences("favorites_list", Context.MODE_PRIVATE);
Map<String, String> map = (Map<String, String>) preferences.getAll();
String a = null;
for (Map.Entry<String, String> entry : map.entrySet()){
a = entry.getValue();
}
的问题是,getValue()返回一个字符串,它必须被设置为一个字符串,但价值本身是一个HashSet,所以它返回一个ClassCastException HashSet不能转换为String的错误。有什么想法吗?
参见:http://stackoverflow.com/questions/14705860/saving-serializable-objects-list-into- sharedpreferences – alfasin