Android ViewPager的事件冲突的解决办法

Android ViewPager的事件冲突的解决办法

当我昨天做viewpager内图片的滑动时,发现图片没有滑动,反而是viewpager滑动了,后来在网上查了资料,解决的事件冲突的问题。

@Override
  public boolean dispatchTouchEvent(MotionEvent ev) { //处理与Viewpager的事件冲突
    if (mCurArrayMode==1){
      getParent().requestDisallowInterceptTouchEvent(true);
    }
    return super.dispatchTouchEvent(ev);
  }

在viewpager内的子view重写dispatchTouchEvent(),然后用if语句,满足条件时,执行getParent().requestDisallowInterceptTouchEvent(true);,这是告诉父容器自己会处理事件,父容器不要阻拦。这样就可以了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法

    Android 中SwipeRefreshLayout与ViewPager滑动事件冲突解决方法 问题描述: 开发中发现,SwipeRefreshLayout的下拉刷新,与ViewPager开发的banner的左右滑动事件有一点冲突,导致banner的左右滑动不够顺畅.很容易在banner的左右滑动的过程中,触发SwipeRefreshLayout的下拉刷新,从而导致banner左右滑动的体验很差. 解决方案: 可以在ViewPager的滑动时候设置SwipeRefreshLayout暂时不可用,

  • Android ViewPager的事件冲突的解决办法

    Android ViewPager的事件冲突的解决办法 当我昨天做viewpager内图片的滑动时,发现图片没有滑动,反而是viewpager滑动了,后来在网上查了资料,解决的事件冲突的问题. @Override public boolean dispatchTouchEvent(MotionEvent ev) { //处理与Viewpager的事件冲突 if (mCurArrayMode==1){ getParent().requestDisallowInterceptTouchEvent(t

  • Android ListView与ScrollView冲突的解决方法总结

    Android ListView与ScrollView冲突的解决方法总结 众所周知ListView与ScrollView都具有滚动能力,对于这样的View控件,当ScrollView与ListView相互嵌套会成为一种问题:  问题一:ScrollView与ListView嵌套导致ListView显示不全面  问题二:ScrollView不能正常滑动 解决方式一: ScrollView+LinearLayout+ListView可以换成ScrollView+LinearLayout+Linear

  • Android 出现问题Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER解决办法

    Android 出现问题Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER解决办法 最近做项目遇到 Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER这个报错信息,不知该如何解决,百度一下,发现有朋友同样问题并解决,这里记录下,有兴趣的朋友可以看下, Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER  [2014-0

  • IOS中多手势之间的冲突和解决办法

    IOS中多手势之间的冲突和解决办法 UIImageView默认是不支持交互的,也就是userInteractionEnabled=NO ,因此要接收触摸事件(手势识别),必须设置userInteractionEnabled=YES(在iOS中UILabel.UIImageView的userInteractionEnabled默认都是NO,UIButton.UITextField.UIScrollView.UITableView等默认都是YES). 在iOS中,如果一个手势A的识别部分是另一个手势

  • 深入学习Android ANR 的原理分析及解决办法

    目录 一.ANR说明和原因 1.1 简介 1.2 原因 1.3 避免 二.ANR分析办法 2.1 ANR重现 2.2 ANR分析办法一:Log 2.3 ANR分析办法二:traces.txt 2.4 ANR分析办法三:Java线程调用分析 2.5 ANR分析办法四:DDMS分析ANR问题 三.造成ANR的原因及解决办法 四.ANR源码分析 4.1 Service造成的Service Timeout 4.2 BroadcastReceiver造成的BroadcastQueue Timeout 4.

  • Android Retrofit 中文乱码问题的解决办法

    Android Retrofit 中文乱码问题的解决办法 使用retrofit和rxjava,提交数据时需注意,当数据中有中文时,传到后台,可能会是乱码,需处理: 解决: 1.GET请求改成POST; 2.参数Field改成Query 3.加上@FormUrlEncoded 如下: @FormUrlEncoded @POST("/test/test") Call<Response> register(@Field("name") String name)

  • Android中ScrollView嵌套GridView的解决办法

    前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全. 找到大家的通用解决办法.记录一下. 解决办法,自定义一个GridView控件 public class MyGridView extends GridView { public MyGridView(Context context, AttributeSet attrs) { super(context, attrs); } pub

  • Mac 下 Android Studio 不打印日志的解决办法

    Mac 下 Android Studio 不打印日志的解决办法 前言: 在 Mac 下使用 Android Studio 时常会遇到 Android Monitor 突然不打印日志的情况,目前我知道的有三个方法: 1.重启 Android Studio 这个不需要多说,点击 Android Studio 的 File => Invalidate caches / Restart ,选择 Just Restart 2.重启 adb 命令行下输入:adb kill-server 关闭 adb,adb

  • Android Caused by: java.lang.ClassNotFoundException解决办法

    Android Caused by: java.lang.ClassNotFoundException解决办法 出现问题: 08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Java.lang.ClassNotFoundException:XXXXX    in loader dalvik.system.PathClassLoader[/data/app/XXXX.apk] 我想大家经常因为疏忽出现ClassNotFoundExcept

随机推荐