如何在Android中的Bundle中存储嵌套的Arraylists

时间:2016-12-28 10:33:13

标签: java android onsaveinstancestate

我的Android App源代码中有这个对象:

ArrayList<ArrayList<MyObject>> rsp

我希望将它存储在Bundle中,并在我的活动中使用OnSaveInstanceState()方法。然后我也想从捆绑中检索它。

我应该使用json吗?还有另一种方式吗?

2 个答案:

答案 0 :(得分:1)

如果可能,请使用Gson资料库

 Gson gson = new Gson();
    String output = gson.toJson(rsp); // Create String and pass through bundle

从String

中检索该列表
    //convert from string
String output =  // get that string from bundle
    ArrayList<ArrayList<MyObject>> fromString = gson.fromJson(output,new TypeToken<List<ArrayList<ArrayList<MyObject>>>>(){}.getType());

答案 1 :(得分:1)

你可以使用Parcelable在OnSaveInstanceState()期间将数据存储在Bundle中

使用以下链接了解更多详情:

How to save custom ArrayList on Android screen rotate?