使用自定义对象存储ArrayList

时间:2018-12-06 08:26:51

标签: java android arraylist

我正在尝试使用其中的自定义对象保存ArrayList。问题是ArrayList在我的单例中。我的单身人士“选择”拥有ArrayList<Choice> list;,“选择”具有4种不同类型的变量。

我不知道如何从我的活动中访问ArrayList,因为下面的代码不起作用。 getMyList()方法返回列表。

SharedPreferences prefs = getSharedPreferences("prefs", MODE_PRIVATE);
    SharedPreferences.Editor editor = prefs.edit();
    Gson gson = new Gson();
    String json = gson.toJson(Choices.getInstance().getMyList());
    editor.putString("list", json);
    editor.commit();

当我检索列表时,我尝试了类似的操作,但是没有用。

    String json = prefs.getString("list", "");
    Type type = new TypeToken<Choice>() {}.getType();
    ArrayList<Choice> savedList = gson.fromJson(json, type);

任何帮助或建议都会有很大帮助。

2 个答案:

答案 0 :(得分:0)

如何进行检索:

localhost/MyProject/public/other

答案 1 :(得分:0)

在检索代码更改时  
Type type = new TypeToken<Choice>() {}.getType();  

 Type type = new TypeToken<List<Choice>>() {}.getType(); 因为您需要解析自定义对象的列表。