android Activity与Fragment之间的通信

原创 2015年11月19日 15:20:20

一、使用onAttach方法实现

1、activity----->fragment

activity代码:
    private OnMainListener mainListener;
    // 绑定接口
    @Override
    public void onAttachFragment(Fragment fragment) {
        try {
            mainListener = (OnMainListener)fragment;
        } catch (Exception e) {
            throw newClassCastException(this.toString() + " must implementOnMainListener");
        }
        super.onAttachFragment(fragment);
    }
    // 接口
    public interface OnMainListener {
        public void onMainAction();
    }
onMainAction方法是activity向fragment发出通信的方法,里面可以放参数, 在要发出通信的地方直接调用该方法即可。
fragment代码:

public class MyFragment extends Fragment implementsOnMainListener {
        ……………………
        @Override
        public voidonMainAction() {
            //这里是实现通信的接口
        }

2、fragment ---->activity

fragment代码:
private OnFragmentListener mListener;
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
        try {
            mListener = (OnFragmentListener) activity;
        } catch (ClassCastException e) {
            throw newClassCastException(activity.toString() + " must implement OnFragmentListener");
        }
    }
    public interface OnFragmentListener {
        public void onFragmentAction(intflag);
    }
activity代码:
  public class MainActivity extends Activity implements OnFragmentListener{
        ………………
        // 实现接口方法
        @Override
        public voidonFragmentAction(int flag) {
            //实现通信的接口
        }


    }

二、使用handler通信

接收方代码:

    public Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg != null) {
                switch (msg.what) {
                    case BaseConstant.SHOW_CHECK_IN:

                        right_text.setText(getString(R.string.calendar_checkin1));
                        break;
                    case BaseConstant.SHOW_CHECK_OUT:

                        right_text.setText(getString(R.string.calendar_checkout1));
                        break;
                    case BaseConstant.SHOW_CHECK_NOTHING:
                        right_text.setText("");

                        break;

                    default:
                        break;
                }
            }
        }

    };

发送方代码:

获得handler实例

        MarketDetailActivity activity = (MarketDetailActivity) getActivity();
        handler = activity.handler;

发送消息

        handler.sendEmptyMessage(flag);


三、使用BroadcastReceiver通信

这里就不贴代码了,可以参考BraodcastReceiver的相关使用使用。



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android——Fragment和Activity之间的通信+Frangment生命周期

Android——Fragment和Activity之间的通信+Frangment生命周期 Fr'agment和Activity之间的通信 1.在Fragment中声明一个接口。 2...

Android实战简易教程<五十二>(Fragment和Activity之间通信)

Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现。 一、Act...

Android中Fragment和Activity之间的通信(含接口回调)

一、接口回调的简单引入: 我们先来看一个简单的接口回调的例子: 新建一个Java工程,然后新建一个包。然后新建一个A.java文件: A.java代码如下: 1 package co...

Android实战简易教程-第五十二枪(Fragment和Activity之间通信)

Fragment的使用可以让我们的应用更灵活的适配各种型号的安卓设备,但是对于Fragment和Activity之间的通信,很多朋友应该比较陌生,下面我们就通过一个实例来看一看如何实现。一、Activ...

Android中Activity和Fragment之间的通信

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

android中fragment和activity之间相互通信

原文:http://www.2cto.com/kf/201405/298326.html android中fragment和activity之间相互通信 2014-05-06   ...

Fragment之间通过Activity通信

  • 2014-09-17 12:56
  • 2.39MB
  • 下载

Android<Fragment之间的通信以及Fragment和Activity的通信>

1.情景假设: 假设现在有一个需求,一个Activity中有FragmentLeft和FragmentRight的布局,在最下面有一个Textview的布局。 现在需要在FragmentLeft...

fragment和activity之间通信

  • 2015-12-03 11:02
  • 2.99MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)