传递参数给片段
问题描述:
我有一个调用Web服务的活动,我想将这些结果传递给一个片段。 Web服务显然是由一个AsyncTask调用的,所以在获取结果之前加载该片段。传递参数给片段
如何传递这个paramteter从活动的的AsyncTask在收到时将其分解?
答
你可以实现你的片段中的方法并在需要时调用它。对于活动和片段之间的双向通信见http://developer.android.com/training/basics/fragments/communicating.html
答
你可以移动的AsyncTask成片段。
但是,如果你想保持当前的设置,您应该保存片段引用,当你初始化,并在需要新的数据作为参数的片段创建一个公共职能。
所以活动代码看起来是这样的:
MyFragment fragment = new MyFragment();
getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit();
,然后你可以拨打:
fragment.updateData(myNewData);
只要确保做相应的空支票,只是为了安全起见。
答
在您的片段中设置包。
Bundle args = new Bundle();
args.putInt("id",value);
Fragment newFragment = new Fragment();
newFragment.setArguments(args);
在您的片段让束为
Bundle b = getArguments();
String s = b.getInt("id");