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