如何将 JSON 数据从 ListView 传递到新的 activity
How to pass JSON data from ListView to new activity
我创建了一个 ListView
,其中填充了 JSON
数据,并且我包含了 OnItemClickListener
以打开一个新的 Activity
到 Intent
。我想要做的是让新 Activity
根据我在 ListView
.
中单击的项目生成数据
例如,如果我在 ListView
中单击来自 JSON
字段名称 JohnDoe
的项目,我想生成包含来自另一个 JSON
数据文件的信息的页面。具体的例子就像 Google Play 商店。
我点击某个应用程序,它会打开一个页面,其中包含有关该应用程序的填充信息。
编辑:我试过传递对象 link,但它不起作用。我在 class 中有 getter 和 setter,然后我在主 class.
中解析它
此处示例:
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
如果对象实现了 Parcelable:
,您可以将对象作为参数发送给另一个 activity
A typical implementation of Parcelable here
然后,发送像这样的参数:
Intent intent = new Intent(this, DetailMovieActivity.class);
intent.putExtra("key", movie);//Your object that implements Parcelable
startActivity(intent);
在另一个 activity:
Bundle arguments = new Bundle();
Movie movie = getIntent().getParcelableExtra("key"));//Receive object
祝你好运!
如果您不喜欢 Parcelable 方法或不知道该怎么做,您可以简单地将 JSONObject 作为字符串传递,如 here 所述。
您唯一需要担心的是在 OnItemClickListener 中检索正确的 JSONObject。
我创建了一个 ListView
,其中填充了 JSON
数据,并且我包含了 OnItemClickListener
以打开一个新的 Activity
到 Intent
。我想要做的是让新 Activity
根据我在 ListView
.
例如,如果我在 ListView
中单击来自 JSON
字段名称 JohnDoe
的项目,我想生成包含来自另一个 JSON
数据文件的信息的页面。具体的例子就像 Google Play 商店。
我点击某个应用程序,它会打开一个页面,其中包含有关该应用程序的填充信息。
编辑:我试过传递对象 link,但它不起作用。我在 class 中有 getter 和 setter,然后我在主 class.
中解析它此处示例:
JSONObject obj = response.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
如果对象实现了 Parcelable:
,您可以将对象作为参数发送给另一个 activityA typical implementation of Parcelable here
然后,发送像这样的参数:
Intent intent = new Intent(this, DetailMovieActivity.class);
intent.putExtra("key", movie);//Your object that implements Parcelable
startActivity(intent);
在另一个 activity:
Bundle arguments = new Bundle();
Movie movie = getIntent().getParcelableExtra("key"));//Receive object
祝你好运!
如果您不喜欢 Parcelable 方法或不知道该怎么做,您可以简单地将 JSONObject 作为字符串传递,如 here 所述。
您唯一需要担心的是在 OnItemClickListener 中检索正确的 JSONObject。