Android Adapter回调接口

简介: 在Andoird中,当activity中需要处理adapter中ListView/或者其他列表的item点击事件,这时候需要用到回调接口。方式:在Adapter中定义的接口(相当于发布),在activity中实现Adapter中定义的接口(相当于是响应)。

在Andoird中,当activity中需要处理adapter中ListView/或者其他列表的item点击事件,这时候需要用到回调接口。
方式:在Adapter中定义的接口(相当于发布),在activity中实现Adapter中定义的接口(相当于是响应)。
这样activity中便能轻松获取adapter中的数据:
①回调接口可以把adapter中处理过的数据传给activity。
②Activity中获取item中数据可以直接用 adapter.getItem(position)获取,也可以直接在activity获取到的数据中获取

Adapter中

@Override  
 public View getView(int position, View convertView, ViewGroup parent)
 {  
    final ViewHolder viewHolder;  
    if (convertView == null) {  
       convertView.setTag(viewHolder);  
    } else {  
     viewHolder = (ViewHolder) convertView.getTag();  
    }  
    setAction(viewHolder.action_button, position,);  
    return convertView;  
 }  
   
 private void setAction(final View view,final int position) 
  {    
    view.setOnClickListener(new OnClickListener() {  
     @Override  
     public void onClick(View v) {  
      if(onItemPlayClick != null) {  
       onItemPlayClick.onItemClick(position);  
      }    
     }  
  });  
 } 
 public static interface OnPlayClickListener {  
  // true add; false cancel  
    public void onItemClick(int position); 
 }  
   
 // add click callback  
 OnPlayClickListener onItemPlayClick;  
  
 public void setOnPlayClickListener(OnPlayClickListener onItemPlayClick) {  
    this.onItemPlayClick = onItemPlayClick;  
 } 

Activity 中

adapter.setOnPlayClickListener(onItemActionClick);  

OnPlayClickListener onItemActionClick = new OnPlayClickListener() { 
  @Override  
   public void onItemClick(int position) {  
    System.out.println("点击。。。"+position);
    //业务处理
   }  
  };  
目录
相关文章
|
9月前
|
Java Android开发
Android系统 获取用户最后操作时间回调实现和原理分析
Android系统 获取用户最后操作时间回调实现和原理分析
254 0
|
9月前
|
Android开发
Android MediaTek 平台增加UART接口的红外模块支持,支持NEC红外遥控
Android MediaTek 平台增加UART接口的红外模块支持,支持NEC红外遥控
181 0
|
4月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
58 2
|
6月前
|
算法 数据处理 开发工具
Android平台RTSP|RTMP播放器如何回调YUV或RGB数据
在开发Android平台上的RTSP或RTMP播放器时,开发者不仅追求低延迟播放,还希望获取解码后的视频数据(如YUV或RGB格式),以便进行视觉算法分析。使用大牛直播SDK中的SmartPlayer,可在确保播放流畅的同时,通过设置外部渲染器(`SmartPlayerSetExternalRender`)来高效地回调原始视频数据。例如,对于RGBA数据,需实现`NTExternalRender`接口,并重写相关方法以处理数据和尺寸变化。同样地,对于I420(YUV)数据,也需要相应地实现接口以满足需求。这种方式使得开发者能在不影响常规播放功能的情况下,进行定制化的视频处理任务。
|
6月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
54 0
|
6月前
|
开发工具 Android开发
Android项目架构设计问题之外部客户方便地设置回调如何解决
Android项目架构设计问题之外部客户方便地设置回调如何解决
43 0
|
6月前
|
Java API 开发工具
Android项目架构设计问题之为SDK添加新的回调支持如何解决
Android项目架构设计问题之为SDK添加新的回调支持如何解决
51 0
|
6月前
|
Android开发 开发者
Android项目架构设计问题之使用动态代理来增强 GoodsApi 接口的调用如何解决
Android项目架构设计问题之使用动态代理来增强 GoodsApi 接口的调用如何解决
32 0
|
6月前
|
存储 缓存 Java
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
Android项目架构设计问题之优化业务接口数据的加载效率如何解决
74 0
|
8月前
|
XML 前端开发 Java
24. 【Android教程】适配器 Adapter
24. 【Android教程】适配器 Adapter
160 3

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 10
    Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)