我编写了一些代码来将新添加的项目保存到sharedpreferences
。但是,如果我在数组列表中检索 sharedpreferences
,它会显示 {"todo":"new item"}
但我只想显示一项,并且只显示文本(如果您理解的话)我。这是我的保存 Arraylist
代码:
public void saveArrayList(Context context ,ArrayList<DayItems> mlist){
SharedPreferences shared;
SharedPreferences.Editor editor;
shared = context.getSharedPreferences("MONDAY", Context.MODE_PRIVATE);
editor = shared.edit();
Gson gson = new Gson();
String json = gson.toJson(mlist);
editor.putString("mondAy", json);
String getSaved = shared.getString("mondAy", null);
Toast.makeText(PlannerActivity.this, getSaved, Toast.LENGTH_LONG).show();
editor.commit();
}
这是我向数组列表添加的项目:
@Override
public void onClick(View v) {
String afspraak = addTEXT.getText().toString().trim();
if(afspraak.length()>0){
addTEXT.setText("");
mon.add(new DayItems(afspraak));
dayAdapter.notifyDataSetChanged();
//save arraylist with new item
saveArrayList(context, mon);
}
}
});
实际上我想要的是一个检索SharedPreferences
的 fragment 。
提前致谢!
最佳答案
您可以尝试从SharedPreferences检索
List<DayItems> listDayItems = gson.fromJson(shared.getString("mondAy", null), new TypeToken<List<DayItems>>() {
}.getType());
关于java - android java 检索数组列表中的共享首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30998086/