永发信息网

android onclicklistener是java函数回调机制吗

答案:5  悬赏:70  手机版
解决时间 2021-03-02 06:08
android onclicklistener是java函数回调机制吗
最佳答案
是的,用的就是匿名的方式,新建了一个回调函数,然后通过注册监听,当触摸屏幕时,就会执行该方法里面的逻辑代码.其实回调机制,我的理解就是使用了类似于c语言的指针概念.
全部回答
1. 肯定是回调机制
1. 是通过回调来把方法暴露出来的 2. 通过匿名内部类实现方法
很多时候,对某个控件实现点击事件的监听,会像下面这样做: Button btn = new Button(this); btn.setOnClickListener(new View.OnClickListener() {     @Override     public void onClick(View v) {         // doSth     } });按照上面所说的,可以调用接口的方法,但是接口需要一个具体的实现,所以应该知道,setOnClickListener中的参数应该是一个接口 public interface OnClickListener {                  void onClick(View v); }接口中还有一个onClick方法。既然是回调,再看看这个方法在哪里被调用了 先看setOnClickListener方法 public void setOnClickListener(@Nullable OnClickListener l) {         if (!isClickable()) {             setClickable(true);         }         getListenerInfo().mOnClickListener = l; }关键是把OnClickListener的对象赋值给了ListenerInfo的mOnClickListener,再看下去 public boolean performClick() {         final boolean result;         final ListenerInfo li = mListenerInfo;         if (li != null && li.mOnClickListener != null) {             playSoundEffect(SoundEffectConstants.CLICK);             li.mOnClickListener.onClick(this);             result = true;         } else {             result = false;         }         sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);         return result;     }看到在这个叫做performClick的方法中调用了onClick方法,还有另外一个叫做callOnClick的方法也会调用onClick,区别可以去看看源码的说明,这里不详细。其实都是在屏幕接收到点击信号的时候,把数据一层一层的往上传递给framework,由framework来调用。对于了解回调要明白的一点就是,在这个类中,调用的是接口的方法。就是让编译器知道,调用接口方法的时候,去回调设置的OnClickListener子类的对应方法。
1. 是通过回调来把方法暴露出来的 2. 通过匿名内部类实现方法
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
汽车用电设备由什么组成
江西奉新杨坪度假村
为什么长期出远门要喝本地酒加上本地土哪为什
#男人和女人年龄差距多少岁,婚姻最幸福?
长安锐翔正时皮在口曲轴轮子上左右摆动是怎么
采芝斋油车路店这个地址在什么地方,我要处理
杨幂和颖儿谁漂亮,我觉得【颖儿】漂亮
该患者最可能的诊断是A.慢性肾炎B.急进性肾炎
太官方了是什么意思
在石化单位工作一年在一线倒班不适应工作又不
我的驾驶证当月八号扣了六分:发证曰期是当月
十五届上海高二物理竞赛的一道题2.如图所示,
哪一位知道M8螺栓的具体尺寸及重量?谢谢大家
颈的两种读音怎么区分
二个前轮胎下面微漏油是什么坏了?
推荐资讯
(三)TheNorthernLight根据以下材料回答下列
网上通缉人员能否考驾照?
自然数是1 2 3.9998 9999所有数之和是多少求
阿波罗旅行社我想知道这个在什么地方
pascal 基础练习题 描述 Description 一间冰
陕北排骨烩菜在什么地方啊,我要过去处理事情
观音灵签39签 求婚姻
购买安置房后,想办理房产证需要是交多少的土
【机械能】怎么判断机械能的增大或减小?跟什
裸车85900的车0首付购车要多花多少钱
vn屠龙者多少钱,猎天使魔女和摩登骇客哪个好
根的结构中吸收水和无机盐的主要部位是A. 根
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?