Android --Activity与Fragment通讯

时间:2021-03-25 13:17:48

参考博客:详解Fragment跟Activity之间的通信

Activity中方法

    private OnSearchListener mSearchListener;

    /**
    *定义一个借口
     **/
    public interface OnSearchListener{
        /**
         *里面传个值
         **/
        public void onSearch(String beginTime,String endTime,String area,String dev);
    }
    /**
     *定义一个对外公开的方法
     **/
    public void setSearchListener(OnSearchListener searchListener){
        this.mSearchListener=searchListener;
    }

Fragement中条用方法接口

  MainActivity activity=(MainActivity)getActivity();
        activity.setSearchListener(new MainActivity.OnSearchListener() {
            /**
            *执行Activity传来的方法
             */
            @Override
            public void onSearch(String beginTime, String endTime, String area, String dev) {
                getSearchData(beginTime, endTime, area, dev);
            }
        });

Activity中触发方法

if(mSearchListener !=null){
                mSearchListener.onSearch(beginTime,endTime,area,dev);
            }