【发布时间】:2015-12-10 01:54:02
【问题描述】:
我想将 arraylist 中的数据添加到 sharedpreferences 并检索相同的数据。 但它不工作。我只得到一个值,即最后一个值 并非所有值都是从共享首选项中检索的。我从 JSONArray 首先添加到arraylist 中。 下面是我保存数据的代码。
JSONArray arr = new JSONArray(strServerResponse);
JSONObject jsonObj = arr.getJSONObject(0);
for (int i = 0; i < arr.length(); i++) {
pojo = new Pojo();
JSONObject jobj2 = arr.getJSONObject(i);
String tipoftheday = jobj2.optString("tipsoftheday");
ArrayList<String> tii = new ArrayList<String>();
tii.add(tipoftheday);
SharedPreferences.Editor editor = getSharedPreferences("MyPref", MODE_PRIVATE).edit();
for (int i1 = 0; i1 < tii.size(); i1++) {
editor.putString("tipoftheday", TextUtils.join(",", tii));
editor.commit();
}
}
下面是从共享首选项中检索数据并使用 setter 设置 d 的代码 从共享首选项中检索的 ata 并将其添加到列表视图适配器。我不明白这是什么错误。
SharedPreferences prefs=getSharedPreferences("MyPref", MODE_PRIVATE);
String serialized = prefs.getString("tipoftheday", null);
List<String> list = Arrays.asList(TextUtils.split(serialized,","));
for(int i=0; i < list.size(); i++){
String ttt = list.get(i);
pojo.setTip(ttt);
tipsAdapter = new TipsAdapter(TipsActivity.this, tips);
tips.add(pojo);
listTips.setAdapter(tipsAdapter);
}
如何在共享首选项中保存数据?我只得到一个值。
【问题讨论】: