如何将ListView中的JSON数据传递给Android上的新活动

时间:2017-04-04 14:49:00

标签: php android json

这是我的代码,但是如何将数据转移到另一个活动。我希望它能显示所有信息。任何帮助将不胜感激。

    try {
        JSONArray ja = new JSONArray(result);
        JSONObject jo;

        data = new String[ja.length()];
        ArrayList<String> LectureArray = new ArrayList<String>();

        for (int i = 0; i < ja.length(); i++) {
            jo = ja.getJSONObject(i);
            data[i] = jo.getString("LectureName");

            Log.i("log_tag", "ID: " + jo.getString("ID") +
                    ", CourseCode: " + jo.getString("CourseCode") +
                    ", LectureName: " + jo.getString("LectureName") +
                    ", LectureQuestion: " + jo.getString("LectureQuestion")
            );
        }

4 个答案:

答案 0 :(得分:1)

要将JSON传递给另一个活动,您必须使用包含Intent的Intent:

 Intent i = new Intent(this, ToClass.class);
    i.putExtra("your_key", your_Object);
    startActivity(i); 

然后从您的新活动中提取它:

  Intent intent = getIntent();
  String easyPuzzle = intent.getExtras().getString("your_key");

答案 1 :(得分:0)

你有不同的方式。 您可以在Intent中使用额外内容,如下所示:

startActivity(new Intent(Activity1.this,Activity2.class).putExtra("CourseCode",1234).putExtra("LectureName","lecture1");

您还可以创建一个可分割的对象,并将其另外发送

我更喜欢将Realm用于可以随处访问的持久数据

答案 2 :(得分:0)

您可以使用意图。

发送:

Intent i = new Intent(this, ActivityReceive.class);
i.putExtra("DATA", data);

接收(在ActivityReceive中):

String data;
if (savedInstanceState == null) {
    Bundle extras = getIntent().getExtras();
    if(extras == null) {
        data = null;
    } else {
        data = extras.getString("DATA");
    }
} else {
    data = (String) savedInstanceState.getSerializable("DATA");
}

答案 3 :(得分:0)

//传递List的对象:

intent.putExtra(“MyClass”,obj);

//在第二个活动中检索对象

getIntent()getSerializableExtra( “MyClass的”);