将onPostExecute结果传递给新的Activity

时间:2012-08-27 19:29:36

标签: android json android-activity

我使用异步调用编写了一个启动活动来从URL下载JSON。在onPostExecute中,我得到JSON作为结果。现在我需要将该JSON传递给一个新的活动来解析并在listView中显示它。我是否需要在传递JSON之前或之后开始新的活动?

2 个答案:

答案 0 :(得分:2)

您可以在开始新活动之前使用putExtra中的onPostExecute,将生成的JSON用于新活动。

Intent intent = new Intent(this, yourClass.class);
intent.putExtra("json", json);
// Now start your activity

然后,您可以通过在新活动中调用getString来获取json。

Bundle extras = getIntent().getExtras();
jsonString = extras.getString("json");

答案 1 :(得分:1)

从JSON对象(String,int等)中提取数据后,将其作为意图的Extra对象传递

Intent intent = new Intent(view.getContext(),ResultsActivity.class);
intent.putExtra("extraname", "extravalue");
intent.putExtra("extraname2", 9.99);
startActivity(intent);

然后在新创建的活动

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_results);
String extra = getIntent().getStringExtra("extraname") //returns null if nothing
Double extra2 = getIntent().getDoubleExtra("extraname2")