您的位置:首页 > 其它

Fragment和activity之间的通信

2015-09-28 15:57 399 查看
1>fragment可以调用getactivity()方法获取它所在的activity。
2>activity可以调用FragmentManager的findFragmentById()或findFragmentByTag()方法获取Fragment.

activity----->Fragment:在activity中创建Bundle数据包,并调用Fragment的setArguments(Bundle bundle)方法。
Fragment----->activity:需要在Fragment中定义一个内部回调接口,再让包含该Fragment的activity实现回调接口,这样Fragment可调用该回调方法将数据传递给activity。

[align=left] Bundle bundle=new Bundle();[/align]
[align=left] bundle.putSerializable( "name", text);[/align]
[align=left] fragment.setArguments(bundle);[/align]
[align=left] FragmentManager manager= getFragmentManager();[/align]
[align=left] FragmentTransaction beginTransaction=manager.beginTransaction();[/align]
[align=left] beginTransaction.add(R.id. layout_main, fragment, "fragment" );[/align]
[align=left] beginTransaction.commit();[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] [/align]
[align=left] getArguments().get( "name"); //在fragment中根据key值获取到指定的信息。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: