如何在活动之间传递Jsoup Elements对象?

时间:2015-08-03 00:25:38

标签: java android

我有一项活动记录到我的学校成绩册,检索成绩,并将它们存储在Elements对象中。但是,我现在需要将此对象传递给另一个将成绩连接到recyclerview的活动,我不知道如何完成此操作。我尝试过这样的事情,但我不知道如何在第二个活动中提取Elements。我知道还有另一个类似的问题,但没有明确的解决方案。

Intent GradeList = new Intent(getApplicationContext(),GradeList.class);
        GradeList.putExtra("grades",w.gradeList);
        startActivity(GradeList);

请帮忙!

1 个答案:

答案 0 :(得分:2)

您可以使用Google的GsonElements对象序列化为Json字符串,通过Intent.putExtra(key, jsonString)将其置于您的意图中,然后将其反序列化为Elements个对象。目标Activity

代码如下:

// I suppose w.GradeList returns an Elements object.
Gson gson = new Gson();
String json = gson.toJson(w.GradeList, Elements.class);
Intent intent = new Intent(getApplicationContext(), GradeList.class);
intent.putExtra(SOME_PUBLIC_STATIC_KEY, json);

// On the target Activity.
Intent intent = getIntent();
String json = intent.getStringExtra(SOME_PUBLIC_STATIC_KEY);
Gson gson = new Gson();
Elements elements = gson.fromJson(json, Elements.class);