android setOnClickListener 回调函数理解

1.模拟java View类:

package com.test;

/**
 * Created by dandan on 15-2-7.
 */
public class View {

    /**设置默认ID**/
    public static final int NO_ID = -1;

    /**设置每个控件的ID用于被子类覆盖**/
    public int mID = NO_ID;

    /**保存点击回调函数**/
    public OnClicklistener mOnClicklistener;

    public interface OnClicklistener {

        void onClick(View view);
    };

    void setOnClicklistener(OnClicklistener onClicklistener) {
        this.mOnClicklistener = onClicklistener;
    };

    public int getId(){
        return mID;
    };

}<span style="color:#ff0000;">
</span>

2.模拟android控件继承View

package com.test;

/**
 * Created by dandan on 15-2-7.
 */
public class AnimationButton extends  View{

    /**
     * 按钮子类中模拟用户点击的方法
     *
     * **/
    public void moniClick(){
        this.mID = 20;

        OnClicklistener clicklistener = this.mOnClicklistener;
        clicklistener.onClick(this);
    }
}

3.模拟客户端使用AnimationButton控件

package com.test;

/**
 * Created by dandan on 15-2-7.
 */
public class MainActivity {

    public static void main(String[] args) {

        AnimationButton animationButton = new AnimationButton();
        animationButton.setOnClicklistener(new View.OnClicklistener() {
            @Override
            public void onClick(View view) {
                System.out.print(view.getId());
            }
        });
<span style="white-space:pre">	</span>//模拟用户点击按钮
        animationButton.moniClick();
    }

}

时间: 2024-08-29 02:51:17

android setOnClickListener 回调函数理解的相关文章

Android中回调函数的理解---本人Android纯新手

本人大二,刚刚接触Android,也刚刚申请的cnblog博客,说一下对Android中回调函数的理解,Android中回调函数和C++.JAVA中的默认构造函数差不多,即运行到了一定的代码时自动调用的代码,而Android中的回调函数和C++.JAVA中的默认构造函数的区别在于:C++.JAVA中的默认构造函数在创建一个对象时自动调用,而Android中的回调函数的自动调用是在比如按了HOME键之后.

Python 多进程实战 & 回调函数理解与实战

这篇博文主要讲下笔者在工作中Python多进程的实战运用和回调函数的理解和运用. 多进程实战 实战一.批量文件下载 从一个文件中按行读取 url ,根据 url 下载文件到指定位置,用多进程实现. #!/usr/local/python27/bin/python2.7 from multiprocessing import Process,Pool import os,time,random,sys import urllib # 文件下载函数 def filedown(url,file):  

callback回调函数理解 相当于this指针

1.callback函数在微软的官方手册中是这样定义callback函数的:"callback函数是由应用程序定义而由操作系统调用的函数".   凡是由用户设计而却由windows系统调用的函数,统称为callback函数,这些函数都有一定的类型,以配合windows的调用操作.      某些api函数以callback作为其参数之一,这些api,如settimer.linedda.enumobjects.通常这种api会在进行某 种行为之后或满足某种状态之时调用该callback函

回调函数理解实例

// callback.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> void printWelcome(int len) { printf("欢迎欢迎 -- %d\n", len); } void printGoodbye(int len) { printf("送客送客 -- %d\n&q

Android(java)回调函数经典示例

回调函数经典示例 1.使用java回调函数来实现一个测试函数运行时间的工具类 public class TestObject { /** * 一个用来被测试的方法,进行了一个比较耗时的循环 */ public static void testMethod(){ for ( int i= 0 ; i< 100000000 ; i++){ } } /** * 一个简单的测试方法执行时间的方法 */ public void testTime(){ long begin = System.current

Javascript 回调函数理解---二娃子买肾机6

在Javascript中什么是回调函数,我认为简单来说就是把一个函数B作为参数传递给另一个函数A,在A函数中的一定时机调用函数B. 这里可以看出回调函数形成了一个闭包,它可以访问函数A中的活动对象. 请见下面代码: 某村二娃子像买肾机6,但苹果店发现木有库存了,准备去进货,那么这时候二娃子有选择: 一是: 过一会来问一下:”到货没?“,”没有“! 过一会来问一下:”到货没?“,”没有“! 过一会来问一下:”到货没?“,”没有“! 过一会来问一下:”到货没?“,”没有“! 我们称这为轮询方式,这样

【Android】回调函数(callback)

情景: 1.我有个开发的问题打电话问你,你说要需要想一下再告诉我,先挂断电话. 2.你想好问题拨打我的手机号告诉我答案.(回调) 如图: —电话回调—> 被调者(你)    <—被调者方法—   调用者(我)(implement 接口) (回调函数处理)               (1. 将回调对象(你)传入注册setcallback  2.实例化调用者,执行回调函数处理类) 步骤: 1.创建一个回调接口 2.创建回调对象 3.创建控制类 4.测试类

关于回调函数 理解一下

typedef void(*CallbackFun)(int);   //void类型的函数指针   void printLove(int len)        //自己的实现函数要和函数指针形式相一致   {      cout<<"Love u -"<<len<<endl;  }    void printFuck(int len)  {      cout<<"Fu<l< u -"<<l

Java/Android中的函数调用&amp;回调函数&amp;自定义回调函数

在做Android自定义控件时遇到要自定义回调函数的问题,想想自己还暂时没有那么精深的技术,赶紧返过头回来再重新研究Java中回调函数的问题.然而不幸的是,网上太多杂乱的帖子和博客都是转来转去,而且都是那一篇"C中的回调函数.....指针.....java....",一点看不出来是自己的思路,估计都是哪哪哪抄来的!(呵呵,要么就是吐槽对了,要么就是我水平太烂读不懂还妄加评论)还有一些很不错的文章,我会在最后参考中加上链接,大家可以看看. 那么来开始我们的正题--什么是回调函数? 我们一