精华内容
下载资源
问答
  • android回调函数
    千次阅读
    2022-03-27 15:25:03
    //接口定义
    public interface OnClickListener {
        void clickListener(String str);
    }
        //回调方
        OnClickListener clickListener;
        private void initData() {
            setOnClickListener(this);//设置监听
        }
        @Override
        public void clickListener(String str) {
            Logger.d("接受到:"+str);
        }
        //调用方
        public void setOnClickListener(OnClickListener clickListener){
            this.clickListener=clickListener;
        }
       clickListener.clickListener("444");

    注意:执行的顺序:回调方 设置监听(setOnClickListener(this))-> 传参数到调用方(setOnClickListener)->调用方,执行调用( clickListener.clickListener("444"))->再次回到调用方,执行这个方法(clickListener)

    public interface MyCallBack {
        void fail(int code,String str);
    }
    
    public class Myc {
        public void test(int error,MyCallBack mycallback){
            if (error ==1 ){
                mycallback.fail(1,"测试得到: "+1);
            }else{
                mycallback.fail(0,"没有得到1");
          
    更多相关内容
  • Android回调函数demo

    2015-12-08 22:47:35
    回调函数在安卓中的使用,简单明了,一个demo入门了解回调机制
  • Android回调函数

    千次阅读 2022-02-08 14:21:07
    首先回调函数就是一个函数,形式上和其他函数没有半点区别. 只不过这个所谓的回调函数是将要被当做参数传递给另一个函数,并被其调用(区别就在这,一般函数的形参,接收的是一个基本类型的变量,而这个函数,接受的参数...

    首先回调函数就是一个函数,形式上和其他函数没有半点区别.

    只不过这个所谓的回调函数是将要被当做参数传递给另一个函数,并被其调用(区别就在这,一般函数的形参,接收的是一个基本类型的变量,而这个函数,接受的参数居然是一个"函数",这个作为参数的函数,就叫回调函数)

    举个例子:

    一般函数:function a(int a, String b):接收的参数是一般类型.

    特殊函数:function b(function c):接收的参数是一个函数,c这个函数就叫回调函数.

    你也可以这么理解:本质区别是,一般一个函数调用另一个函数,被调用的函数是出现在方法体当中,而回调函数比较特殊,它是出现在参数列表当中.也就是说,当调用的时候,需要从其他地方拿到这个(回调)函数,以参数的形式传入.

    一般的函数调用,可以称作是调用.然而另一种,执行时才将某个函数传入再调用的调用方式,就叫"回调",当然,不要纠结于翻译的准不准,主要需要理解本质是什么.

    完全面向对象的语言(例如Java)中没有回调函数的概念,因为"接口"(中的方法)充当了回调函数的作用,也就是说上面的函数b接收的对象是一个接口的实现类对象

    回调函数的概念一般在面向过程或者函数式编程中才出现.

    学过Java语言的童鞋很好理解回调函数,其实就是一个函数的参数是某个接口的实现类.

    初学者对回调函数的理解,可以认为是有个功能我自己不写,交给别人来写,他写完之后,我运行我的程序时,把那个函数传给我就行,然后我来调用他写的函数,实现我的功能.程序灵活性就有了,因为这个功能就可以有多种实现方式而不需要我关心具体实现细节.(另外其他回答中强调"回调"的含义,我也来解释下,回调是针对于被调用的函数来说的,也就是相对于写回调函数的人来说的,我写好一个函数,等着被调用(等着被回调))

    理解回调函数,重点就是:回调函数是作为另一个函数的形参出现的,这和传统思维有很大不同.

    还可以参考
    还可以参考二

    展开全文
  • Android回调函数的例子

    2014-12-26 14:14:30
    Java回调函数的理解。通过在Android小程序下运行一个Java回调程序。代码内部有简单讲解。
  • 我们Android开发中经常用到一些匿名内部类,及其其中的回调函数,例如,我们给Button设置监听器时候通常要实现OnCLickListener接口,并重写其中的Onclick()方法,这就是匿名内部类与回调函数,那么你对Java匿名...
  • Android 回调函数的理解,实用简单

    万次阅读 2017-03-03 14:42:00
    作者: 夏至,欢饮转载,也请保留这段申明一般我们在不同的应用传递数据,比较方便的是用广播和回调函数,当然还有其他方式,这里学学回调函数的使用; 什么是回调函数呢?在C/C++中,因为我们有指针这个东西,所以...

    作者: 夏至,欢饮转载,也请保留这段申明
    http://blog.csdn.net/u011418943/article/details/60139910

    一般我们在不同的应用传递数据,比较方便的是用广播和回调函数,当然还有其他方式,这里学学回调函数的使用;
    什么是回调函数呢?在C/C++中,因为我们有指针这个东西,所以传递数据什么的,挺方便,把那个指针地址发过来,改一下地址里面的值即可即可;但是Java中是没有指针这个概念的,所以,这个回调函数则是用一个interface 接口和内部类实现的。
    而实用回调函数的好处在于,可以很方便的监听到某个类的状态,常用的是监听一个下载任务的进度和下载状态等等。
    首先,先定义一个共有接口:

    public interface myCallBack {
        public void fail(int error,String msg);
    }

    ok,我们定义了一个接口,那怎么使用呢?首先先思考一下,假如我有两个类,b和c,我想在b类中监听c类的fail这种状态;那我只要把b类的实例给c,c实现方法就可以了。
    ok,那么我们在c类中,实现方法

    public class myc {
    
        public void test(int error,myCallBack mycallback){
            if (error ==1 ){
                mycallback.fail(1,"测试得到: "+1);
            }else{
                mycallback.fail(0,"没有得到1");
            }
        }
    }

    然后,我们在b类中,实例化c类,然后我们的 myCallBack 实例传递过去

     new myc().test(1, new myCallBack() {
                @Override
                public void fail(int error, String msg) {
                    Log.d(TAG, "fail: "+msg);
                }
            });

    打印如下:

    zsr: fail: 测试得到: 1
    

    在服务中心回到结果:

    有时候,我们需要这种需求,比如一个下载任务,我们在服务中开启了下载任务,我们需要在 MainActivity 去监听下载任务的进度和下载状态等一些信息,但是我们启动这个callback是在服务的,那怎么办?
    很简单,只要把 MainAcivity 的callback 实例给服务就可以了,但是不是用 inputextra 的方式:

    public class myb extends Service{
        @Override
        public IBinder onBind(Intent intent) {
            return null;
        }
        private myCallBack myCallBack = MainActivity.myCallBack;
        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
    
            new myc().test(0,myCallBack ); //把开启这个服务的 callback 实例传递过来
            return super.onStartCommand(intent, flags, startId);
        }
    }

    这样,我们就可以在 MainActivity 中监听c类中的状态了:

    public static myCallBack myCallBack =  new myCallBack(){
            @Override
            public void fail(int error, String msg) {
                Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show();
            }
        };
    展开全文
  • 一,回调函数定义 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数回调函数不是由该函数的实现方...

    一,回调函数定义

    回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

    我的理解就是,在某个事件发生时,调用函数,实现异步的通信。比如,用户在dialog里面按键操作调整某个值之后,需要在主界面显示这个值,使用回调函数,在主界面改变这个值。就像我干完活了,然后打电话,告诉你结果。

    二,实例。

    以dialog里面按键调节某个值,主界面显示这个值,并跟随变化。

    1,回调函数在Android中属于一个接口类,首先在dialog中定义一个接口。

    public interface OnCallBack {
            void soundVelocityParamChange();//功能1
            void dialogClose();             //功能2
                                            //功能3
                                            //...    
        }

    2,定义一个接口对象。

    private DialogViewParamSoundVelocity.OnCallBack callBack;

    3,定义⼀个⽅法可以对当前接⼝的对象进⾏赋予。

    此方法会在主界面使用。

    public void setCallBack(DialogViewParamSoundVelocity.OnCallBack callBack) {
            this.callBack = callBack;
        }

    4,在需要的地方放置回调函数。

    @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                callBack.dialogClose(); //callBack
                return true;
    
            }
            return super.onKeyDown(keyCode, event);
        }

    以上都是在dialog界面里面操作。以下在主界面操作。

    5,在主界面实现回调函数。

    DialogViewParamSoundVelocity dialogViewSoundVelocity = new DialogViewParamSoundVelocity(mActivity);
                   dialogViewSoundVelocity.showBottom();
    dialogViewSoundVelocity.setCallBack(new DialogViewParamSoundVelocity.OnCallBack() {
        @Override
        public void soundVelocityParamChange() {
            tv_sound_velocity_value.setText(GlobalPublicVariable.passageway.getSoundVelocity());
    
        }
        @Override
        public void dialogClose() {
            GlobalPublicVariable.dialogIsOpen = false;
           // ll_sound_velocity.setClickable(true);
        }
    });

    可以看出,在主界面中的实现函数里,可以进行回调之后的一些操作,比如更改数据,保存数据或其他一些动作等。

    三,总结。

    Java 中没有指针的概念,通过接口和内部类的方式实现回调的功能:

    待续


     

    展开全文
  • Android回调函数

    千次阅读 2021-07-23 16:57:49
    最近对Android中的回调产生了一些疑问,看了不少博文才算是明白了一点,接下来分享一下我的收获。 写在正文之前,大神可以跳过:  1.接口不可以实例化,但可以创建一个接口对象。*注1:  2.你可能见过这样的语法:...
  • android回调函数

    千次阅读 2015-07-11 00:48:42
    在我们进行android开发的时候,经常遇到一些回调函数,其中,我们最常用的回调就是,当我们对一个组件设置监听的时候,其实就相对于设置的回调函数。例如:Button btn = (Button)findViewById(R.id.btn);btn....
  • 主要介绍了android自定义控件步骤示例,包括为View类增加属性、响应用户消息、自定义回调函数等方法
  • 所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用...
  • Android 页面回调函数 onActivityResult

    千次阅读 2022-03-16 10:17:00
    参考 请求码(requestCode)与结果码(resultCode)解析_向晚流年的博客-CSDN博客_requestcodehttps://blog.csdn.net/u010542873/article/details/51219352
  • android 不同activity切换时它们的回调函数调用逻辑的研究
  • 回调函数 就像activities一样,fragments也有它们自己的生命周期。理解fragments的生命周期,可以使你在它们被销毁的时候保存它们的实例,这样在它们重新被创建的时候,就能恢复它们之前的状态。 流程: onAttach()...
  • Android关于回调函数的定义及用法

    千次阅读 2016-04-01 23:20:26
    我们在平时做项目的过程中经常会用到回调函数,对于做Android的可能大家对回调函数都不陌生,像点击事件,触摸事件,生命周期等等都用到了回调函数。所谓的回调函数其实用容易理解的话讲就是“当什么什么的时候调用...
  • 回调函数Android平台的事件处理机制有两种,一种是基于监听接口的,一种是基于回调机制的。对于基于监听器的事件处理而言,主要就是为Android界面组件绑定特定的事件监听器;对于基于回调的事件处理而言,主要做法...
  • Android回调函数机制那点事

    千次阅读 2016-04-01 23:12:26
    所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用...
  • 本文通过利用回调函数实现RN和Android原生之间的通信。实现的结果是在RN界面输入文字之后,将文字发送给原生,原生在收到文字之后对其进行简单处理(添加后缀)再返回给RN界面。如下图所示 { NativeModule....
  • android回调函数的用法和意义

    千次阅读 2017-04-29 14:16:22
    CallBack是回调的意思,一般称之为回调函数 百科的解释:http://baike.baidu.com/link?url=8yMUwVEFRzxR4JGMxVN_UnFgJIH4WTnsybuW5NfwgKqVKP8NtShfJnNNeY9mBzRT 用一个比较形象的例子: 你饿了,想吃饭,就一会...
  • 安卓开发中的回调函数的Demo

    热门讨论 2013-02-06 13:35:37
    该代码只是个很简单的回调函数的demo,供那些对回调函数不是很理解的人参考,本人能力有限,有不妥当的地方欢迎批评指正
  • 在使用接口回调的时候发现了一个经常犯的错误,就是回调函数里面的实现有可能是用多线程或者是异步任务去做的,这就会导致我们期望函数回调完毕去返回一个主函数的结果,实际发现是行不通的,因为如果回调是多线程的...
  • Android-回调机制

    2020-12-15 16:36:58
    所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用...
  • Java/Android中的函数调用&回调函数&自定义回调函数

    万次阅读 多人点赞 2015-10-23 12:47:01
    所谓的回调函数就是:在A类中定义了一个方法,这个方法中用到了一个接口和该接口中的抽象方法,但是抽象方法没有具体的实现,需要B类去实现,B类实现该方法后,它本身不会去调用该方法,而是传递给A类,供A类去调用...
  • Intent回调函数的用法

    2011-09-28 23:43:44
    刚刚写的一段Android的Intent的代码,实现连个Activity之间的跳转。
  • Android实现自己的回调函数

    千次阅读 2016-04-12 16:03:15
    Android实现自己的回调函数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,954
精华内容 43,981
关键字:

android回调函数