Fragment从Activity获取数据(Activity一次性获取数据,然后分别传给各个fragment)

在Activity里把所需要的数据拿到后,放进一个Bundle里,再传到每个Fragment里
      //data是从服务器里获取的总数据数组
      JSONArray data = object.optJSONArray("data");

							
							for (int i = 0; i < data.length(); i++) {
								JSONObject jo = data.optJSONObject(i);
								
								FragmentManager manager = getFragmentManager();
							    FragmentTransaction transaction =  manager.beginTransaction();
							    Fragment fragment = fragmentsList.get(i);
								Bundle bundle = new Bundle();
								bundle.putString("data", jo.optJSONArray("child").toString());
								fragment.setArguments(bundle);
								transaction.commit();
	
							}


//在每个Fragment里拿到数据,转化成之前的数组,再进行调用
JSONArray data;
Bundle bundle = getArguments();
try {
	data = new JSONArray(bundle.getString("data"));
} catch (JSONException e) {
	e.printStackTrace();
}


你可能感兴趣的:(Fragment从Activity获取数据(Activity一次性获取数据,然后分别传给各个fragment))