关于recylerview的OnTouchListener方法 遇到一点问题

在adapter中给recyclerview一个接口,然后再onBindViewHolder中写入方法

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
viewHolder.tv.setText(mDatas.get(position));
viewHolder.itemtext.setTextSize(20);
viewHolder.itemtext.setTextColor(Color.GRAY);
if (mOnItemClickLitener != null) {
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int pos = viewHolder.getLayoutPosition();
mOnItemClickLitener.onItemClick(viewHolder.itemView, pos);
}
});
}
if (onItemTouchListener != null) {
viewHolder.itemView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println("up");
break;

                    case MotionEvent.ACTION_UP:
                   System.out.println("down");
                        break;

                    default:
                        break;
                }

                return true;
            }
        });
    }

这样会出现一个问题就是点击一次item的时候有很大几率执行两次方法,即点击一次打印出up down up down 求大神分析一下是什么原因导致的呢?

http://blog.sina.com.cn/s/blog_13d81ef090102wdnv.html