Android接口回调机制

接口回调是在Android中运用广泛的一种机制,你一定会眼熟它,接下来,我们从两个方面来了解接口回调

Android源码

自行动手实际运用

1.从setOnclickListener()看接口回调

大家都会熟悉这样的写法button.setOnClickListener(new onClickListener()...

跟进去看看源码:其实就是为这个View设置了一个点击事件回调

public void setOnClickListener(@Nullable OnClickListener l) {

if (!isClickable()) {

setClickable(true);

}

getListenerInfo().mOnClickListener = l;

}

2.为RecyclerView的ItemView设置事件监听

这是自行定义的接口:

public interface RecyclerViewItemClick

{

public void onRecyclerViewItemClick(View view, int position);

}

在RecyclerView的Adapter里面有一个回调接口的对象,并为它设置Set方法

/**

* ItemView点击事件

*/

private RecyclerViewItemClick mOnRecyclerViewItemClick;

/**

* 设置ItemView点击事件

*

* @param onRecyclerViewItemClick

*/

public void setOnRecyclerViewItemClick(RecyclerViewItemClick onRecyclerViewItemClick)

{

mOnRecyclerViewItemClick = onRecyclerViewItemClick;

}

然后在onBindViewHolder方法里面添加这样一句代码:

holder.itemView.setOnClickListener(new View.OnClickListener()

{

@Override

public void onClick(View v)

{

mOnRecyclerViewItemClick.onRecyclerViewItemClick(v, position);

}

});

最后在业务逻辑中就可以这样写了

adapter.setOnRecyclerViewItemClick(new RecyclerViewItemClick()

{

@Override

public void onRecyclerViewItemClick(View view, int position)

{

//在这里对点击事件进行处理

}

});

结束语

接口回调机制比较简单,可以花点时间自己理解一下。在这里只是简单的为RecyclerView添加点击事件,只是为了理解接口回调机制,另外也可以使用RecyclerView.onItemTouchListener去扩展他的点击事件。

android 点击接口回调,带你了解Android接口回调机制相关推荐

  1. android bitmap转图片_带你用Android自定义View实现网易云音乐宇宙尘埃特效

    作者:Mlx, 链接:https://juejin.im/post/6871049441546567688 前言 前段时间,女朋友用网易云音乐的时候看到一个宇宙尘埃特效,说很好看,想要让我给她开VIP ...

  2. android点击视频使用固定应用打开,Android 使用intent打开手机自带应用播放视频,音频,文档,还有打开应用市场...

    1 打开手机上的视频播放器播放视频String url = "http://192.168.0.1/1.mp4" Intent intent = new Intent(); int ...

  3. android点击通知跳转到服务,Android 接收推送消息跳转到指定页面的方法

    问题的提出 本次接入的是个推,其他家的推送没有研究过,思路应该是类似的 App在前台,这个时候需要弹出一个对话框,提醒用户有新的消息,是否要查看,查看的话跳转到指定页面 App在后台,或是App进程已 ...

  4. android点击下拉历史记录,如何在Android上删除浏览历史记录-万兴恢复专家

    第4部分:如何在Android上永久清除历史记录? 只需删除数据或使用恢复出厂设置无法永久擦除Android.在恢复过程的帮助下,数据很容易恢复,Avast已经证明了这一点.dr.fone工具包 - ...

  5. android点击按钮弹出图片,用android做的一个简单的点击按钮显示图片的程序

    其实,在这之前我已经做了一个点击按钮的小程序,只不过它只是用来在界面上显示一些文字或者是用一个对话框来显示内容.按理说,做显示图片应该是不会有太大的问题了,可是问题还是来了.在我把这些个问题解决之后, ...

  6. android点击弹出滑动条,IndicatorSeekBar Android自定义SeekBar,滑动时弹出气泡指示器显示进度...

    overview.png 之前在网上看到了当Slider控件在滑动时会弹出气泡指示器,觉得很有趣,于是就进行拓展,就有了下面介绍的一个安卓控件:IndicatorSeekBar.先附上Indicato ...

  7. android点击弹出日期选择器,关于Android 点击按钮弹出日期选择器

    首先是 xml文件 xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width= ...

  8. android点击运行后无法显示设备,Android仿真器除了黑屏外什么都不显示,adb设备显示“设备离线”...

    我只是想开始在Android中进行开发.因此,问题是当我尝试通过发出命令emulator @ A2来启动仿真器时,屏幕上会出现一个仿真器.但是即使等待了2-3个小时,它所显示的只是一个黑屏.甚至没有a ...

  9. android笔记:安卓自带的主题android:theme

    • android:theme="@android:style/Theme.Dialog"   将一个Activity显示为能话框模式 • android:theme=" ...

最新文章

  1. 海贼王热血航线服务器维护,航海王热血航线长环岛修理遇难船任务攻略
  2. 编程语言趋势最新报告:开发者最青睐DevOps,Kotlin增长最快
  3. 7 怎么查看文件夹容量_C盘(系统盘)磁盘剩余容量告警?如何解决与预防,C盘容量告急解决方法简单汇总!...
  4. python作者 es6_ES6 全套教程 ECMAScript6 (原著:阮一峰)(1)
  5. Delphi程序的主题(Theme)设置
  6. 正则表达式简单语法及常用正则表达式
  7. 带着canvas去流浪系列之五 绘制K线图
  8. 【Kafka】Kafka ArithmeticException: / by zer
  9. JDK API文档下载
  10. 错过就找不到了 Java API文档 免费下载!!!
  11. Android在WindowManagerService和ActivityManagerService中的Token
  12. 映月城与电子姬服务器维护,映月城与电子姬11月16日更新公告 加强玩家作弊检测增加举报功能...
  13. java2月天数_java根据当前日期+指定天数(月份...)得到相应日期,计算两日期之差...
  14. 64位userdata.dll丢失_因为计算机中丢失OCI.dll尝试重新安装该程序以解决此问题
  15. python help帮助文档
  16. 常用iOS开发网站资源
  17. 2011年养成的一个工作习惯
  18. matlab人脸识别样本库建立,facenet 人脸识别(二)——创建人脸库搭建人脸识别系统...
  19. 【Docker】error pulling image configuration: download failed after attempts=6: dial tc
  20. Python Excel操作 xlwt xlrd xlutils三个模块的使用,不删除表,往后累加数据

热门文章

  1. 分享两套模板,zblog模板和emlog模板。
  2. IDEA快速XXL-JOB
  3. 天然气阶梯是按年还是按月_天然气阶梯价是按年算还是月算
  4. 2022年蓝桥杯省赛 C/C++ A组题解
  5. Ztmao主题猫wordpress主题经典失传版/WP网站模板下载站源码+全局SEO功能设定
  6. 知名网络漫画XKCD被黑客攻击,约56万用户数据被泄露
  7. linux加载和卸载驱动模块出现 'XXX': device or resource busy 错误提示
  8. 逍遥安卓模拟器卡android,逍遥安卓模拟器怎么设置不卡 逍遥模拟器不流畅解决方法...
  9. firt time come in
  10. Glide 源码解析之监听生命周期