RecycleView条目点击事件的实现方法

RecyclerView作为Android 5.0引入的高效组件,相比ListView提供了更多的灵活性和性能优势。它支持多种布局管理器,如LinearLayoutManager、GridLayoutManager及StaggeredGridLayoutManager,并且能够更好地管理视图的复用。本文详细介绍了RecyclerView的工作原理、布局管理器的选择及其如何处理点击事件。
/**
 * RecyclerView 是5.0推出的一个组件,存在于V7包中,使用需要导包(添加依赖包)
 * Recycler 回收,复用
 * RecyclerView 就是循环利用的View,就是我们Android中ListView的一个升华
 *
 * RecyclerView中item最外层的布局参数是生效的,而ListView的是不生效的
 *      更推荐我们书写具体值去加载布局
 *
 *  RecyclerView是一个比ListView更加灵活更加高效的适配器类型控件
 *      适用于加载一系列的数据集
 *
 *      RecyclerView 与以前学过的ListView,GridView,ViewPager 有什么区别呢?
 *          将显示方式抽离,使用LayoutManager进行控制
 *      RecyclerView默认提供三种布局管理器
 *           三种布局管理器都支持横纵向排列
 *          ① LinearLayoutManager 线性布局管理器,实现ListView,ViewPager效果
 *              Gallery 画廊(过时了)
 *          ② GridLayoutManager 网格布局管理器,实现GridView效果
 *          ③ StaggeredGridLayoutManager 瀑布流布局管理器
 *
 *      缺点:点击事件丢失    

 *

我们可以再adapter里面对条目直接进行设置点击事件    首先是让adapter实现 View.OnClickListener

然后重写两个重要的方法 

 /**
     *  依附在RecyclerView上的时候调用可以通过该方法获得recyclerView
     *      绑定
     */
    @Override
    public void onAttachedToRecyclerView(RecyclerView recyclerView) {
        super.onAttachedToRecyclerView(recyclerView);
        Log.e(TAG, "onAttachedToRecyclerView: "+ recyclerView );
        mRecyclerView = recyclerView;
    }


    @Override
    public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
        super.onDetachedFromRecyclerView(recyclerView);
        mRecyclerView = null;
    }

接下来是点击事件

@Override
    public void onClick(View v) {
   //通过该方法 获得被点击条目的位置   关键就在这里 
            int position = mRecyclerView.getChildAdapterPosition(v);
            Log.e(TAG, "onClick: " + position);
        
        ..得到位置之后就可以随意设置点击事件了 
    }













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值