您的位置:首页 > 其它

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

2017-04-28 17:08 405 查看
/**

 * RecyclerView 是5.0推出的一个组件,存在于V7包中,使用需要导包(添加依赖包)

 * Recycler 回收,复用

 * RecyclerView 就是循环利用的View,就是我们Android中ListView的一个升华

 *

 * RecyclerView中item最外层的布局参数是生效的,而ListView的是不生效的

 *      更推荐我们书写具体值去加载布局

 *

 *  RecyclerView是一个比ListView更加灵活更加高效的适配器类型控件

 *      适用于加载一系列的数据集

 *

 *      RecyclerView 与以前学过的ListView,GridView,ViewPager 有什么区别呢?

 *          将显示方式抽离,使用LayoutManager进行控制

 *      RecyclerView默认提供三种
4000
布局管理器

 *           三种布局管理器都支持横纵向排列

 *          ① 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);

        

        ..得到位置之后就可以随意设置点击事件了 

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息