• fragment和自己的activity通讯


    在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信。下面就来记录一下 activity和fragment之间 通过实现接口来互相通信的方法。
    1. activity 向fragment发出通信,就这么写:


    private OnMainListener mainListener;        // 绑定接口       

    @Override       

    public void onAttachFragment(Fragment fragment) {       

          try {        mainListener = (OnMainListener) fragment;        } catch (Exception e) {        throw new ClassCastException(this.toString() + " must implement OnMainListener");        }       

    super.onAttachFragment(fragment);        }        // 接口       

    public interface OnMainListener {        public void onMainAction();        }

    1. onMainAction 方法是activity向 fragment发出通信的方法,里面可以放参数, 在要发出通信的地方直接调用该方法即可。
    复制代码
    1. 在对应的fragment里面要这么写:
    复制代码

        public class MyFragment extends Fragment implements OnMainListener { 
          public void onMainAction() { 
             //这里是实现通信的接口 


    2. fragment向activity 发出通信:(和前面差不多)

    1.         private OnFragmentListener mListener;
       @Override        public void onAttach(Activity activity) {       

                            super.onAttach(activity);      
               try {        mListener = (OnFragmentListener) activity;       
      } catch (ClassCastException e) {       
      throw new ClassCastException(activity.toString() + " must implement OnFragmentListener");       
      }     
        }      

      public interface OnFragmentListener {        public void onFragmentAction(int flag);        }
     

    在activity中 实现接口:   public   class  MainActivity  extends  Activity  implements  OnFragmentListener{ 

    ………………

    public void onFragmentAction(int flag) { 
    两者都是通过接口的实现来进行通信的,重要的地方就是分别在onAttachFragment 和 onAttach方法中进行接口绑定。 通信还有其他方法的,比如广播、静态handler等,这里就不赘述了。
    end~

    http://www.colabug.com/thread-1124396-1-1.html

    http://blog.csdn.net/t12x3456/article/details/8119607

  • 相关阅读:
    php环境搭建工具包推荐
    Android视频直播解决方案(rstp、udp)
    软件版本号命名
    附加数据库失败,无法升级数据库,因为它是只读的
    Web Api如何传递POST请求
    找回Reshaprer的Alt+Enter快捷键的方法
    asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页
    asp.net 回发或回调参数无效的各种情况分析及解决办法
    MQTT, XMPP, WebSockets还是AMQP?泛谈实时通信协议选型 good
    echarts 专题
  • 原文地址:https://www.cnblogs.com/yc3120/p/4374362.html
Copyright © 2020-2023  润新知