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);
    //业务处理
   }  
  };  
目录
相关文章
|
7月前
|
开发工具 Android开发 开发者
Android如何回调编码后的音视频数据
有开发者提到,在RTMP推送端的基础上,希望能回调编码后的音视频数据,便于开发者对接第三方系统,如GB28181.
|
6月前
|
Java Android开发 C++
[笔记]Visual Studio 2015 开发安卓so库JNI层——回调调用
[笔记]Visual Studio 2015 开发安卓so库JNI层——回调调用
|
8月前
|
Android开发
Android 基于回调的事件处理机制详解
Android 基于回调的事件处理机制详解
62 0
|
XML 前端开发 数据库
Android Adapter 详解
Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View。因为layout五花八门,很多数据都不能直接绑定上去,所以Android引入了Adapter这个机制作为复杂数据展示的转换载体,所以各种Adapter只不过是转换的方式和能力不一样而已。
417 0
Android Adapter 详解
|
Android开发
react-native-wechat安卓点击登录没有回调问题
react-native-wechat安卓点击登录没有回调问题
219 0
|
开发工具 Android开发
关于安卓腾讯云im sdk群组监听不回调问题
安卓腾讯云im sdk群组监听不回调
365 0
|
JSON 缓存 Android开发
Android友盟三方登录、微信新浪分享成功不走回调
微信新浪分享成功不走回调 检查微信回调WXEntryActivity是否是在包名路径下, 例如 包名是com.a.b(微信友盟开放平台),那么你这个activity应该放在com.a.b.wxapi文件夹下 包名为com.a.b ,这个activity放在com.a.b.view.wxapi文件夹下 导致微信回调失败(新浪同理)
296 0
|
Android开发
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(三)
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(三)
242 0
|
Android开发 开发者
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(二)
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(二)
290 0
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(二)
|
Android开发
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(一)
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(一)
453 0
【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )(一)