Android-RecycleView内部item点击事件


RecyclerView的使用——Item内部控件的点击事件

一、在adapter中写item点击事件的接口供外部的activity使用
/**
* item内部的监听接口
*/

public interface ItemInnerOnclickListener {
    // 这个String id 是点击item是想要传的参数
    void onItemInnerOnClick(int position, String id);
}

private ItemInnerOnclickListener mItemInnerOnclickListener;

public void setOnItemOnClickListener(ItemInnerOnclickListener mItemInnerOnclickListener) {
    this.mItemInnerOnclickListener = mItemInnerOnclickListener;

  }

在holder中就可以这么去写:(这里我使用了CommonAdapter 所以holder的代码可能不太一样)

holder.setOnClickListener(R.id.cancel_withdraw, new OnMultiClickListener() {
  @Override
  public void onMultiClick(View v) {
    // record.id 是activity那边拿到数据后用bean来解析的 传递过来的数据
    // public class WithdrawRecordsAdapter extends CommonAdapter<WithdrawRecordBean.Record>
    mItemInnerOnclickListener.onItemInnerOnClick(position, record.id);
  }
});
二、在activity中我们就可以这么去写
private WithdrawRecordsAdapter withdrawRecordsAdapter;
withdrawRecordsAdapter.setOnItemOnClickListener(new WithdrawRecordsAdapter.ItemInnerOnclickListener() {
          @Override
          public void onItemInnerOnClick(int position, String id) {
            showDialog(id,position);
          }
        });

这里我们设置点击事件的时候去new了一个adapter中点击事件的接口,并且我们还可以拿到adapter中点击时想要传递的String id 去做一些事情


文章作者: 李文洋
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 李文洋 !
评论
 上一篇
Android-如何监听前后台 Android-如何监听前后台
Android-如何监听前后台简单讲讲android如何判断应用切换到后台和应用切换到前台。这个其实很简单,之前需要做一个功能,当app由后台进入前台时需要完成一些逻辑操作,所以在网上查找如何判断app由后台进入前台,最终是解决了问题。这里
2020-10-21
下一篇 
Rust 闭包 Rust 闭包
快速掌握Rust闭包闭包(Closure) : 也叫Lambda表达式或匿名函数。 不像普通函数,闭包可以对参数和返回类型进行推断,大多数时候都不需要写出来。以下定义都是合法的: || 42; |x| x + 1; |x:i32| x +
2020-10-21
  目录