zoukankan      html  css  js  c++  java
  • Android fragment 想activity 传送数据

    fragment可以通过定义 fragment的接口的方法来 想activity传送数据;

    而activity则是通过实现 fragment的接口来接收fragment的送来的数据;

    1.在fragment 的subclass 中定义一个接口 如

    OnInterfaceOfFragmentone 接口;

    在接口中定义一些方法;让activity来调用;

     public  OnInterfaceOfFragmentone mCallback;
    //为Activity 定义一个接口;
        public interface OnInterfaceOfFragmentone{
            public void OnContactEvent(String index);
            
        }
        @Override
        public void onAttach(Activity activity){
            super.onAttach(activity);
             // 这是为了保证Activity容器实现了用以回调的接口。如果没有,它会抛出一个异常。
            try {
                mCallback=(OnInterfaceOfFragmentone)activity;
            } catch (ClassCastException e) {
                throw new ClassCastException(activity.toString()
                        + " must implement OnHeadlineSelectedListener");
            }
        }

    2. 在fragment的subclass fragmentone 中调用接口的方法来向activity传递信息如

        /*fragment 可以通过实现 接口 OnInterfaceOfFragmentone 的mCallback 实例 调用接口的方法OnContactEvent (或者接口的其他方法))
         * 
         * mCallback.OnContactEvent(_index);
         * 
         * 用户可以通过getInterfaceEvent() 将信息传递给Activity
         * */
        public void getInterfaceEvent( String _index){
            mCallback.OnContactEvent(_index);
        }

    可以通过fragment的某个用户点击事件 来调用该方法;

    //例如;
            getInterfaceEvent("这是我要传给activity的数据 ");

    3.在activity中 实现fragmentone.OnInterfaceOfFragmentone 的接口

    public class MainActivity extends FragmentActivity implements
            fragmentone.OnInterfaceOfFragmentone {//实现fragmentone.OnInterfaceOfFragmentone 的接口

    3.1 重写 fragmentone.OnInterfaceOfFragmentone 的接口的方法

    OnContactEvent(String index);

    //实现fragmentone 的接口OnInterfaceOfFragmentone 的方法OnContactEvent()
        //把fragment 的数据通过index 传进来
        //
        @Override
        public void OnContactEvent(String index) {
            // TODO Auto-generated method stub
            final String sub=index;
        Log.e("fragment give me data is",sub);
        }

    3.2得到的结果是这样的

  • 相关阅读:
    JAVA 面试知识点
    JAVA String.format()的使用
    XorPay.com 支付平台介绍【免费申请个人微信支付接口】
    PC软件/web网站/小程序/手机APP产品如何增加个人收款接口
    个人收款之微信小微商户
    个人小程序接入支付解决方案
    XorPay 个人支付平台增加 个人支付宝支付接口
    Javascript中那些你不知道的事之-- false、0、null、undefined和空字符串
    网页启用Gzip压缩 提高浏览速度
    C/S架构和B/S架构的概念和区别
  • 原文地址:https://www.cnblogs.com/xieyier/p/4171854.html
Copyright © 2011-2022 走看看