精华内容
下载资源
问答
  • Android开发我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于...本文主要对Android中接口回调、方法回调进行详细介绍,下面跟着小编一起来看下吧
  • android中接口回调的理解

    千次阅读 2015-04-25 15:38:10
    Android 中接口回调一般应用在activity与适配器或者监听器之间。在监听器和适配器里面回调activity的方法。 例如:适配器 点击事件的同时需要更改activity的数据显示或其他。在监听器,当监听到外界变化时...

    Android 中接口回调一般应用在activity与适配器或者监听器之间。在监听器和适配器里面回调activity中的方法。

    例如:适配器中  点击事件的同时需要更改activity中的数据显示或其他。在监听器中,当监听到外界变化时,更改activity中的数据变化。

    设置回调的步骤

    1.定义回调函数

    可在任意位置定义回调函数,一般在单独java文件中定义、在监听器或者适配器中定义。

    public interface OnShakeListener{
    public void onShake();
    }

    2.在activity中实现回调函数同时将实例传入适配器或者监听器中。

    在与适配器或监听器做配合的时候  可在实例化  适配器或者监听器的时候  实例化回调函数,这样可以直接把实例传到适配器或者监听器中

    mShakeListener = new ShakeListener(this, //实现回调函数); 

    实现回调函数部分可在activity开始时进行实现。

    public class YaoActivity extends Activity implements OnShakeListener{}  

    通过mShakeListener = new ShakeListener(this, Yaoactivity.this);传入到适配器或者监听器实例

    也可在适配器或者监听器中定义方法,,通过方法传入实例

    public void setOnShakeListener(OnShakeListener listener){

         onShakeListener=listener; }

     3.调用回调函数

    当满足一定条件的时候触发回调函数。

    在适配器或者监听器中    满足一定条件时调用  onShakeListener.onShake();


    展开全文
  • Android中接口回调、方法回调

    万次阅读 2016-08-14 17:48:22
    Android中方法的的回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦,现在来举个例子看看它的应用场合,例如在activity的listview与adapter类之间的传递: 一、方法回调 在listview的item有个...

    在android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版,例如:在下载时候的进度回调,在adapter与activity之间的回调,在javabean和fragment以及fragment之间的回调等等,回调的目的主要有两个:其一是传递数据,其二是保持数据的同步更新。常用的有两种形式,一是使用内部类的形式,得到接口的子类对象,另一种是直接实现定义的接口。

    一、内部类的形式

    1、在需要传递数据的一端定义一个接口,接口里面些需要监听的方法以及参数。

    2、定义一个的接口类型的变量存储数据。

    3、创建一个公共的方法,让外部调用,并且传递接口类型的参数,给其定义的接口类型的数据初始化。

        /**
         * 定义一个接口
         */
        public interface   onListener{
            void OnListener(String code,String msg);
        }
    
        /**
         *定义一个变量储存数据
         */
        private  onListener listener;
    
        /**
         *提供公共的方法,并且初始化接口类型的数据
         */
        public void setListener( onListener listener){
            this.listener =  listener;
        }

    4、在合适的位置调用接口里面的方法,传递数据。

            /**
             * 在合适的位置给其调用接口,给其赋值
             */
            if (listener!=null) {
                listener.OnListener(rtncode,rtnmsg);
            }
    5、在需要获取数据的地方,创建对象调方法。

        Print print = new Print();
        print.setListener(new PrintTicket.onListener() {
            @Override
            public void OnListener(String code, String msg) {
                //在这里获取数据进行处理
            }
        });
    二、实现接口的形式
    1、定义一个接口,可以另起包名,或者定义在类里面。

        /**
         * 定义一个接口
         */
        public interface   onListener{
            void OnListener(String code,String msg);
        }
    2、在需要传递数据的一端的构造方法对接口进行初始化。

        public Print(OnListener listener) {
            this.listener = listener;
        }

    3、在合适的位置调用接口里面的方法,传递数据。

            /**
             * 在合适的位置给其调用接口,给其赋值 
             */
            if (listener!=null) {
                listener.OnListener(rtncode,rtnmsg);
            }

    4、在需要获取数据的地方创建对象传递参数。

     Print print = new Print(this);
    这里面的this代指的是当前页面的activity,如果是fragment的话,需要重写onAttach方法对其进行初始化,强制类型转换后获取接口对象。此时在构造方法里面传递接口得数据listener,如下二选一。
        @Override
        public void onAttach(Activity activity) {
            super.onAttach(activity);
            OnListener listener = (OnListener) activity;
        }
    
        @Override
        public void onAttach(Context context) {
            OnListener listener = (OnListener) activity;
        }
    注意:直接在fragment里面进行获取当前fragment所在的activity,调用getActivity进行强转或者直接传递会报错。报的错误为类型转换错误。

    5、让activity实现此接口,重写其抽象方法,在抽象法里面处理任务。

        @Override
        public void OnListener(String rtncode, String rtnmsg) {
            //在这里获取数据进行处理
        }

    以上两个回调方法适用于两个类之间的数据传递,现在来看看三个类之间的数据传递,javabean——>activity——>fragment之间的数据传递。需求:在javabean中获取数据,当点击fragment按钮时候,要求显示获取的数据进行相关业务处理。步骤如下:

    1、新建一个包,定义一个接口,定义相关方法。

    2、在javabean的构造方法中对接口进行初始化,并在适当的位置调用一下接口中的方法。

    3、在fragment中重写onAttach,对接口进行初始化,强转为接口类型。

    4、创建对象,传递参数为3中强转的接口类型。

    5、让acitivity实现接口,重写抽象方法,在方法中进行数据的处理。

    具体代码就省略了……

    具体应用见:http://blog.csdn.net/yoonerloop/article/details/52127143点击打开链接

    展开全文
  • 浅谈android中接口回调的传值方法

    千次阅读 2018-05-01 13:17:23
    在安卓开发接口回调是所用最多,也是应用最广泛的传值方式,它可以在同一个Activit的不同Fragme之间进行传值,也可以在不同Activit之间进行传值,现在就来简单说一下同一个Activit下的不同Fragme之间的传值问题...
         在安卓开发中,接口回调是所用最多,也是应用最广泛的传值方式,它可以在同一个Activit的不同Fragme之间进行传值,
    也可以在不同 Activit之间进行传值,现在就来简单说一下同一个Activit下的不同Fragme之间的传值问题,此文章适合初 学者,老鸟就不要看了,嘎嘎嘎————
           
       
    第一步:创建回调接口类,例如:
        public interface OnClie2 {
              void onClin(String s);//参数类型为回调什么,就写什么类型
         }
     第二步:在要传值的Fragment内声明接口并写一个带接口参数的构造方法
        
         private OnClie2 onClie2;//声明接口
          
         public BlankFragment(OnClie2 onClie2) {
            this.onClie2 = onClie2;
        }
    第三步:在需要传值的地方调用接口来进行传值
         例如:要传递一个集合中某个实体类的name
             String name = list.get(position).getName();
              //判空可根据情况来做
                if (onClie2!=null) {
                         onClie2.onClin(name);
                }
    第四步:在Fragment依附的MainActivity中实现接口,重写接口里面的方法,
            并且new一个带接口参数的Fragment对象,此时s即为传过来的name
           对s进行操作,传到第二个Fragment
          //因为MainActivity实现了接口,所以它的对象this可以直接当作BlankFragment的参数
            BlankFragment blankFragment=new BlankFragment(this);
       //重写接口内的方法
           @Override
         public void onClin(String s) {
          //此处是用第二个Fragment的对象调的其内的公共方法
            blankFragment2.st(s);
         //此为Fragment之间的跳转
            replace(blankFragment2);
        } 
     
    第五步:在第二个接受数据的Fragment中,创建一个公共的构造方法并在外部进行接收,其数据便是name,
             可以在onCreateView对其进行操作
     
           private String myName;
       //此myName即为传递过来的数值
           public void st(String name){
           myName=name;
         }      
       

    这个简单的接口回调就结束了,是不是感觉非常简单,嘎嘎嘎——————
    所以一些初学者不要感觉很难,只要用心,一切都会变的非常简单
    
    
    
     

    展开全文
  • Android中接口回调——fagment与activity

    千次阅读 2015-05-16 10:28:24
    确实是对接口回调的东西不是很明白不是很熟悉,看到如下解释后,恍然大悟。 这里主要是这样的意思,首先我们可以在fragment里面定义一个接口,然后 然后将activity强转成接口,然后赋值给接口,那么直接在activity...

    确实是对接口回调的东西不是很明白不是很熟悉,看到如下解释后,恍然大悟。

    这里主要是这样的意思,首先我们可以在fragment里面定义一个接口,然后 然后将activity强转成接口,然后赋值给接口,那么直接在activity里面就可以实现这个接口定义的方法。

    1、在Fragment中自定义接口

    public interface OnButtonClickListener {

    public void OnButtonClickListener ( String message); //message为你要传入activity中的信息
    }
    并且重写onAttach
    public void onAttach(Activity activity) {
    // TODO Auto-generated method stub
    super.onAttach(activity);
    try {
    mListener = (OnButtonClickListener ) activity;
    } catch (ClassCastException e) {
    throw new ClassCastException(activity.toString()
    + "must implement OnGridViewSelectedListener");
    }

    }
    然后在你button点击事件中
    mListener.OnButtonClickListener(message);

    再说activity  首先implements  OnButtonClickListener
    然后实现自定义的回调接口OnButtonClickListener
    public OnButtonClickListener ( String message)
    {
      //处理传递过来的message信息就可以了。
    }

    展开全文
  • android 接口回调

    2016-05-31 17:53:56
    一个演示android中接口回调的demo
  • 本篇文章主要介绍了Android接口回调机制,在开发经常会用到,具有一定的学习价值,有需要的可以来了解一下。
  • android接口回调

    2016-03-09 19:18:02
    android接口回调
  • 在Android到处可见接口回调机制,尤其是UI事件处理方面,本文给大家介绍android接口回调机制,涉及到android接口回调相关知识,对本文感兴趣的朋友可以参考下本
  • android kotlin 接口回调

    千次阅读 2018-08-27 16:40:02
    kotlin 接口回调的要相对于java有太多的代码简洁写 这也是新语言的优势 让语言越来越人性化简单化 在这里java的接口回调就不书写了 直接上kotlin 创建一个我们想要的回调 class MyCallBack { lateinit var ...
  • Android 自定义接口回调

    千次阅读 2018-10-23 14:13:55
    1.定义一个简单的接口回调 下面是定义一个简单的接口,实现的功能是,设置名字爱好,并且返回给主 Activity。 1.1 自定义一个接口  定义一个名字为 setNameListener() 的接口类: /** * author: wu * date: ...
  • Android 接口回调实例

    千次阅读 2015-05-14 14:42:35
    Android接口回调方法处处涉及到,比如常用的Button点击事件就是一个接口回调,可见掌握熟练使用接口回调方法的重要性。 接口回调的简单解释就是:比如我这个类实现了一个接口里的方法doSomething,然后注册到你这里...
  • Android 接口回调

    万次阅读 多人点赞 2014-03-25 12:41:02
    Android中到处可见接口回调机制,尤其是UI事件处理方面。举一个最常见的例子button点击事件,button有一个点击方法onClick(),我们知道onclick()是一个回调方法,当用户点击button就执行这个方法。在源码是这样...
  • Android 关于接口回调原理的解析

    千次阅读 2015-10-29 17:29:21
    接口回调,咋听起来可能会感觉很高大上,很复杂的逻辑的一种思想。特别是在Android中,每次都用,但有时候只是知道这样用,却不知道怎么实现的。但其实任何面向对象语言使用无非就是封装,继承,多态。其他的万变不...
  • 至于定位的配置之类的我就不多说,此篇文章重点在于接口回调 private static BDAbstractLocationListener mListener = new BDAbstractLocationListener() { @Override public void onReceiveLocation...
  • Android 接口回调 简单Demo

    万次阅读 2016-10-25 16:11:39
    Android 接口回调 简单Demo在Android中,我们经常会需要接口回调来返回咱们所需求的参数,下面我们来写一个简单的Demo。 start step1: 写接口/** * author: {Davide} on 2016/7/22. * email : {david.forever.god@...
  • 详解android 接口回调

    千次阅读 2016-06-01 10:53:34
    详解android 接口回调 看图and看代码 给一个详细的接口回调方法调用 顺序 , 有一个直观 的理解。正常情况下 MainFragment 里面的 list 列表的 点击事件 应该在 它里面实现, 但是为了达到一些目的与要求,如重复...
  • Android接口回调深入理解

    千次阅读 2016-05-13 16:37:30
    Android控件接口回调理解,绝对小白加深彻!
  • android接口回调的两简单写法

    千次阅读 2017-04-14 16:53:52
    android接口回调的两简单写法——B509小贴士一、第一种内部重写(较简单,常用异步) (1)创建接口 ,并实现方法 (2)在获取数据类实现传递接口对象为参数的方法 (3)在主类调用返回数据方法 并传递...
  • android注册广播方式接口回调
  • Android 关于一个接口回调的Demo

    千次下载 热门讨论 2014-09-14 20:56:44
    这里写的是一个Android接口回调的Demo,如果对接口回调不太理解、或者不太会用的话,相信看完这个简单的demo,便会解决你的问题
  • Android中基于回调接口的确权机制.pdf
  • Android 接口回调传值和执行方法

    千次阅读 2017-06-06 15:07:35
    介于很多地方会使用到接口回调,有的是事件做出改变后需要通知某些地方刷新数据,有的是需要传递某些改变的值,所以接口回调非常有掌握的价值,在这里直接把代码贴出来,方便使用。 1、接口回调执行方法 在事件...
  • Android接口回调,简单demo

    千次阅读 2017-03-27 11:36:04
    最近做项目有好多的地方用到了接口回调,所以抽空找时间写了个特别简单的接口回调,如有问题,求留言批评教育。 举个例子,A有一个问题不会,他去问B,B暂时解决不出来,B说,等我(B)解决了再告诉你(A)此时...
  • Android http请求使用接口回调

    千次阅读 2017-07-03 10:59:47
    Android http请求接口回调

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 117,294
精华内容 46,917
关键字:

android中接口回调