来自共享首选项的android阵列

来自共享首选项的android阵列,android,android-preferences,Android,Android Preferences,我正试图迭代一组共享首选项,并生成一个哈希映射的ArrayList,但有一个问题 SharedPreferences settings = getSharedPreferences(pref, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString("key1", "value1"); editor.putString("key2", "value2"); 然后我在想一些大致的事情: final ArrayL

我正试图迭代一组共享首选项,并生成一个哈希映射的ArrayList,但有一个问题

SharedPreferences settings = getSharedPreferences(pref, 0); SharedPreferences.Editor editor = settings.edit(); editor.putString("key1", "value1"); editor.putString("key2", "value2"); 然后我在想一些大致的事情:

final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>(); SharedPreferences settings = getSharedPreferences(pref, 0); Map<String, ?> items = settings.getAll(); for(String s : items.keySet()){ HashMap<String,String> temp = new HashMap<String,String>(); temp.put("key", s); temp.put("value", items.get(s)); LIST.add(temp); } 这会产生以下错误:

The method put(String, String) in the type HashMap<String,String> is not applicable for the arguments (String, capture#5-of ?) 有更好的方法吗?

改变

 HashMap<String,String> temp = new HashMap<String,String>();
 final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>();

它应该会起作用。您不是放置字符串而是放置对象,这会导致错误更改

 HashMap<String,String> temp = new HashMap<String,String>();
 final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>();


它应该会起作用。你放的不是字符串而是对象,这会导致错误,因为他有正确的想法。对象不是字符串,因此.toString是必需的

final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>(); SharedPreferences settings = getSharedPreferences(pref, 0); Map<String, ?> items = settings.getAll(); for(String s : items.keySet()){ HashMap<String,String> temp = new HashMap<String,String>(); temp.put("key", s); temp.put("value", items.get(s).toString()); LIST.add(temp); }
他有正确的想法。对象不是字符串,因此.toString是必需的

final ArrayList<HashMap<String,String>> LIST = new ArrayList<HashMap<String,String>>(); SharedPreferences settings = getSharedPreferences(pref, 0); Map<String, ?> items = settings.getAll(); for(String s : items.keySet()){ HashMap<String,String> temp = new HashMap<String,String>(); temp.put("key", s); temp.put("value", items.get(s).toString()); LIST.add(temp); }
无法实例化HashMap类型无法实例化HashMapI类型我是新的,所以我不是在问你的答案,而是在问一个问题:使用Pair怎么样@比尔·莫特-你是说取代哈希图?我想这是可行的,但问题更多的是如何遍历一组首选项,而不是如何操作结果数据。我的最终目标是要有一条线,所以,虽然这对线可以握住物体,但我仍然需要从中得到一对线。我是新手,所以我不是在问你的答案,而是在问一个问题:使用这对线怎么样@比尔·莫特-你是说取代哈希图?我想这是可行的,但问题更多的是如何遍历一组首选项,而不是如何操作结果数据。我的最终目标是拥有一个字符串,因此,尽管Pair可以保存对象,但我仍然需要从中获取一对字符串