2

我想通过意图从一个 Activity 转移到另一个 ArrayList。我该怎么做,因为我无法实现 JSONObject 类parcelable

4

3 回答 3

5

您可以简单地将整个 JSONObject 作为字符串。

intent.putString("YOUR_KEY", jsonObj.toString);

然后在 SecondActivity 中,您可以将 Json String 转换为 JsonObject

JSONObject jsonObj = new JSONObject(getIntent().getStringExtra("YOUR_KEY"));

您可以创建一个 ArrayList 即 json.ToString()

JSONObject json1 = null,json2 = null;
ArrayList<String> jsonList=new ArrayList<String>();
jsonList.add(json1.toString());
jsonList.add(json2.toString());
i.putStringArrayListExtra("json_list", jsonList);

然后在 SecondActivity 中,您可以将 Json String 转换为 JsonObject

JSONObject jsonObj1 = new JSONObject(getIntent().getStringExtra("json_list").get(0));
JSONObject jsonObj2 = new JSONObject(getIntent().getStringExtra("json_list").get(1));
于 2013-10-15T16:03:42.050 回答
0

如果你让你的 Object 类实现Parcelable你可以将你的 arraylist 打包到你发送的包中

有关示例,请参见此链接

于 2013-10-15T15:44:08.447 回答
-1

要从一个Activity变为另一个,您需要一个意图。你可以为这个意图添加额外的信息。并非所有类型都可用,但 String 是*:

Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.extras.putString(key, value);
mIntent.putExtras(mBundle);

*您可以在以下位置找到更多信息:在 startActivity() 上传递 Bundle?

您可能知道,您可以将 an 转换ArrayList为 a JSONArray,最后一个可以序列化为字符串**:

ArrayList<String> list = new ArrayList<String>();
list.add("foo");
list.add("baar");
JSONArray jsArray = new JSONArray(list);

**您可以在以下位置找到更多信息:convert ArrayList<MyCustomClass> to JSONArray

现在您只需要将您的数组字符串放入您的意图并在您最近打开的课程中再次解析它***:

String value = getIntent().getExtras().getString(key);

***更多信息在第一个链接

于 2013-10-15T15:57:15.670 回答