android java 检索数组列表中的共享首选项
android java retrieve sharedpreferences in arraylist
我写了一些代码来将刚刚添加的新项目保存到 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();
}
这是我添加到 arraylist 的项目:
@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
。
提前致谢!
您可以尝试从 SharedPreferences
中检索
List<DayItems> listDayItems = gson.fromJson(shared.getString("mondAy", null), new TypeToken<List<DayItems>>() {
}.getType());
绝对适合你的情况:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, null);
Type type = new TypeToken<ArrayList<ArrayObject>>() {}.getType();
ArrayList<ArrayObject> arrayList = gson.fromJson(json, type);
我写了一些代码来将刚刚添加的新项目保存到 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();
}
这是我添加到 arraylist 的项目:
@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
。
提前致谢!
您可以尝试从 SharedPreferences
中检索 List<DayItems> listDayItems = gson.fromJson(shared.getString("mondAy", null), new TypeToken<List<DayItems>>() {
}.getType());
绝对适合你的情况:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, null);
Type type = new TypeToken<ArrayList<ArrayObject>>() {}.getType();
ArrayList<ArrayObject> arrayList = gson.fromJson(json, type);