文档章节

ViewPager 的 点击事件冲突

Jonson
 Jonson
发布于 2016/04/28 17:37
字数 230
阅读 94
收藏 2

        最近做项目的时候 , 有一个看图片的ViewPager(是无限循环的) , 点击图片要跳到photoView . 发现viewpager最后一张图片点击的时候好久才跳到photoView里 . google一下 , 发现解决问题了!

        到后来发现把无限循环的值改为100 , 就不会出现这种要等许久才跳到photoView里 . 


public class ClickableViewPager extends ViewPager {

    private OnItemClickListener mOnItemClickListener;

    public ClickableViewPager(Context context) {
        super(context);

        setup();
    }

    public ClickableViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);

        setup();
    }

    private void setup() {
        final GestureDetector tapGestureDetector = new    GestureDetector(getContext(), new TapGestureListener());

        setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                tapGestureDetector.onTouchEvent(event);

                return false;
            }
        });
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        mOnItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener {
        void onItemClick(int position);
    }

    private class TapGestureListener extends GestureDetector.SimpleOnGestureListener {

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if(mOnItemClickListener != null) {
                mOnItemClickListener.onItemClick(getCurrentItem());
            }

            return true;
       }
    }}

   这样子添加事件

  

ClickableViewPager viewPager = (ClickableViewPager) indViewById(R.id.viewPager);viewPager.setOnItemClickListener(new ClickableViewPager.OnItemClickListener() {
            @Override
            public void onItemClick(int position) {
                //your code
            }
        });

 

  附上链接 http://stackoverflow.com/questions/16350987/viewpager-onitemclicklistener

 附上手势检测好文章 http://blog.csdn.net/harvic880925/article/details/39520901

© 著作权归作者所有

共有 人打赏支持
Jonson
粉丝 21
博文 131
码字总数 17942
作品 0
肇庆
私信 提问
viewpager+viewpager+scrollview+gridview

刚开始有一个父viewpager,后来在viewpager里面放了一个子viewpager还有一个gridview在同一个页面(子viewpager在上并且添加了点击事件,Gridview在下面),出现了滑动还有显示的问题,后来在...

KongSyp
2015/07/11
753
1
ViewPager如何既能左右滑动又能实现缩放

ViewPager如何实现基恩呢个左右滑动,又能实现缩放,,现在我能在viewPager左右滑动加载fragment,可是我同事需要实现ViewPager检测手势事件实现缩放,,是不是存在事件冲突问题。该如何解决...

一首动情的歌
2014/10/18
978
1
Android 手势检测实战 打造支持缩放平移的图片预览效果(下)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lmj623565791/article/details/39480503 转载请标明出处:http://blog.csdn.net/lmj623565791/article/detai...

鸿洋_
2014/09/28
0
0
GankApp 侧滑和title修改颜色的完整项目app

GankApp 侧滑和title修改颜色的完整项目app GankApp 侧滑和title修改颜色的完整项目app,本项目主要由侧滑框架和4.4以及以上的头部title颜色调整和, 首页viewpager滑动切换,以及处理侧滑和...

抉择很难
2015/10/26
0
0
ViewPager子View滑动事件冲突解决

事件分发:public boolean dispatchTouchEvent(MotionEvent ev) Android事件以隧道方式逐层向下传递。事件首先由dispatchTouchEvent方法分发,分发逻辑如下: return true;由该dispatchTou...

风过后
2015/08/23
0
3

没有更多内容

加载失败,请刷新页面

加载更多

ORA 各种oraclesql错误

ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某...

青峰Jun19er
10分钟前
2
0
没错,老板让我写个 BUG!

前言 标题没有看错,真的是让我写个 bug! 刚接到这个需求时我内心没有丝毫波澜,甚至还有点激动。这可是我特长啊;终于可以光明正大的写 bug 了🙄。 先来看看具体是要干啥吧,其实主要就是...

crossoverJie
23分钟前
2
0
开源软件会被云杀死吗 ?

本文转载云头条,原作者:Michael Stiefel是Reliable Software公司的负责人,是一名软件架构和开发顾问。 文章要点 虽然开源开发不会消失,但商业开源厂商的未来不是很有希望。随着全面管理的...

linuxCool
56分钟前
5
0
OSChina 周三乱弹 —— 谈什么对象?睡什么觉?

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @胖达panda :最肯忘却古人诗,最不屑一顾是相思。分享童丽的单曲《红豆生南国》: 《红豆生南国》- 童丽 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
今天
444
7
stylus

stylus基础教程,stylus实例教程,stylus语法总结

miaojiangmin
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部