我有一项活动记录到我的学校成绩册,检索成绩,并将它们存储在Elements对象中。但是,我现在需要将此对象传递给另一个将成绩连接到recyclerview
的活动,我不知道如何完成此操作。我尝试过这样的事情,但我不知道如何在第二个活动中提取Elements
。我知道还有另一个类似的问题,但没有明确的解决方案。
Intent GradeList = new Intent(getApplicationContext(),GradeList.class);
GradeList.putExtra("grades",w.gradeList);
startActivity(GradeList);
请帮忙!
答案 0 :(得分:2)
您可以使用Google的Gson将Elements
对象序列化为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);