fragment Activity之间传值的方法 之------------接口回调

首先  定义一个  回调接口

  1. public interface FragmentCallBack {
  2. public void callbackFun1(Bundle arg);
  3. public void callbackFun2(Bundle arg);
  4. }

让Activity实现了这个接口

  1. public class MainActivity extends ActionBarActivity implements FragmentCallBack
  2. {
  3. private Button btn;
  1. @Override
  2. public void callbackFun1(Bundle arg) {
  3. // TODO Auto-generated method stub
  4. switchFragment();//通过回调方式切换
  5. }
  6. @Override
  7. public void callbackFun2(Bundle arg) {
  8. // TODO Auto-generated method stub
  9. changeButtonColor();//通过回调方式调用Activity中的方法
  10. }
  11. }

最后在fragment的onAttach中绑定在点击事件中调用

  1. @Override
  2. public void onAttach(Activity activity) {
  3. // TODO Auto-generated method stub
  4. super.onAttach(activity);
  5. fragmentCallBack = (MainActivity)activity;
  6. }
  1. btn.setOnClickListener(new OnClickListener() {
  2. @Override
  3. public void onClick(View v) {
  4. // TODO Auto-generated method stub
  5. fragmentCallBack.callbackFun1(null);
  6. }
  7. });

同理  activity向fragment传值时只需要将new 出来的fragment上转型为fragment实现的接口类型 在activity中的点击事件中调用回调方法就可以传值了

fragment之间的传值最好是通过activity传值

activity中用getSupportFragmentManager   fragment中还有fragment用getChildFragmentManager

上一篇:解析activity之间数据传递方法的详解


下一篇:docker 启动 nginx 服务