如何提取共享首选项的内容(字符串数组)

时间:2014-03-02 04:21:00

标签: android

我有这个arraylist hashmap

  

tasklist = new ArrayList>();

然后我将其内容存储到首选项

temp = new HashMap<String, String>();
temp.put("action", spinnerAction.getSelectedItem().toString());
temp.put("task", spinnerCourse.getSelectedItem().toString() + ": " +       spinnerChapter.getSelectedItem().toString());
tasklist.add(temp);
adapterShowTask.notifyDataSetChanged();
editor.putString("taskpref", tasklist.toString());
editor.commit();

这是我如何检索它:

String storedCollection = sPrefs.getString("taskpref", "");

storedCollection的内容如下所示:

["{action= some text, task= some text}", "{action= some text 2, task= some text 2 }" ]

我的问题是,如何检索特定字符串(操作和任务)并将其再次加载到arraylist hashmap?

1 个答案:

答案 0 :(得分:0)

这是你需要使用jsonparser的JsonString,我建议你学习如何解析String json,有很多很棒的tutorial在线

String storedCollection = sPrefs.getString("taskpref", "");
 JSONArray jarray=new JSONArray(stroredCollection);
 ArrayList<String> action=new ArrayList<String>();
 ArrayList<String> task=new ArrayList<String>();
 for(i=0;i<jarray.length();i++){
 String action=jarray.getJSONObject(i).getString("action");
 String task=jarray.getJSONObject(i).getString("task");
 }