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