Fragment和activity之间的通信

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。
 
                     Bundle bundle=new Bundle();
                     bundle.putSerializable( "name", text);
                     fragment.setArguments(bundle);
                     FragmentManager manager= getFragmentManager();
                     FragmentTransaction beginTransaction=manager.beginTransaction();
                     beginTransaction.add(R.id. layout_main, fragment, "fragment" );
                     beginTransaction.commit();
 
 
                     
                     getArguments().get( "name");          //在fragment中根据key值获取到指定的信息。
posted @ 2015-09-28 15:57  如梦真心  阅读(218)  评论(0)    收藏  举报