Android 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);
    //业务处理
   }  
  };  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,417评论 25 709
  • Android Studio JNI流程首先在java代码声明本地方法 用到native关键字 本地方法不用去实现...
    MigrationUK阅读 14,081评论 7 123
  • Android四大组件: activity: activity的生命周期:activity是context的子类,...
    梧桐树biu阅读 3,846评论 0 2
  • Day1: 在代码中通过R.string.hello_world可以获得该字符串的引用; 在XML中通过@stri...
    冰凝雪国阅读 5,326评论 0 5
  • 我们其实就不可能在一起,自己为啥还要坚持,付出,怎么都不是自己想要的我该怎么办啊! 昨晚他也给我说的那么明白了,只...
    Emilybb阅读 3,610评论 0 0