ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 低调看直播体育app软件下载 >> Android开发 >> android开发游记:RecyclerView无法添加onItemClickListener最佳的高效解决方案

android开发游记:RecyclerView无法添加onItemClickListener最佳的高效解决方案(3/3)

来源:网络整理     时间:2016-05-28     关键词:

本篇文章主要介绍了"android开发游记:RecyclerView无法添加onItemClickListener最佳的高效解决方案",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下: 【转自:http://blog.csdn.net/liaoinstan/article/details/51200600】 自从RecyclerView发布以...

//单击事件。用来判定该次点击是SingleTap而不是DoubleTap,//如果连续点击两次就是DoubleTap手势,如果只点击一次,//系统等待一段时间后没有收到第二次点击则判定该次点击为SingleTap而不是DoubleTap,//然后触发SingleTapConfirmed事件publicbooleanonSingleTapConfirmed(MotionEvent e);
    //双击事件publicbooleanonDoubleTap(MotionEvent e);
    //双击间隔中发生的动作。指触发onDoubleTap以后,在双击之间发生的其它动作publicbooleanonDoubleTapEvent(MotionEvent e);

可以看出OnGestureListener主要回调各种单击事件,而OnDoubleTapListener回调各种双击事件。而我们需要处理的点击事件其实就是上面的:onSingleTapUp()

值得一提的是sdk 还提供了一个外部类SimpleOnGestureListener,这个类实现了上面两个接口的所有方法,但全都是空实现,函数体里什么也没写,其中就是把上面两个接口合并一下,给出默认的空实现,这样继承SimpleOnGestureListener的时候就不用实现每一个方法了,既然如此,那么我们定义一个类去继承它吧。

定义一个ItemTouchHelperGestureListener 继承自SimpleOnGestureListener ,实现onSingleTapUp方法:

privateclassItemTouchHelperGestureListenerextendsGestureDetector.SimpleOnGestureListener {@OverridepublicbooleanonSingleTapUp(MotionEvent e) {
      }
}

到这里,已经获取到了RecyclerView的点击事件和触摸事件数据MotionEvent ,那么我们怎么知道点击的是哪一个item呢?RecyclerView已经为我们提供了这样的方法:findChildViewUnder(),我们可以通过这个方法获得点击的item,同时我们调用RecyclerView的另一个方法getChildViewHolder(),可以获得该item的ViewHolder,最后再回调我们定义的虚方法onItemClick()就ok了,这样我们就可以在外部实现该方法来获得item的点击事件了:

@OverridepublicbooleanonSingleTapUp(MotionEvent e) {
View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
     if (child!=null) {
         RecyclerView.ViewHolder vh = recyclerView.getChildViewHolder(child);
         onItemClick(vh);
     }
     returntrue;
}

觉得有用的话,下面有个顶可以点一下:)

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了android开发游记:RecyclerView无法添加onItemClickListener最佳的高效解决方案,包括了方面的内容,希望对Android开发有兴趣的朋友有所帮助。

    本文网址链接:http://www.codes51.com/article/detail_1371591_3.html

    相关图片

    相关文章