【问题标题】:How to intercept scrolling in an EditText by the parent ViewPager如何拦截父 ViewPager 在 EditText 中的滚动
【发布时间】:2015-06-17 12:49:11
【问题描述】:

我有一个带有 EditText 的 ViewPager。我希望所有滚动事件都由 ViewPager 处理,而不是 EditText。 具体来说,我希望 EditText 处理点击等,而不是移动事件。我试图通过覆盖 ViewPager 中的 onInterceptTouchEvent 来实现这一点,但没有成功。 有谁知道这究竟是如何实现的?

【问题讨论】:

  • 您的意思是您不希望EditText 在触摸事件上滚动?所以EditText 不会检测到滑动,只会按下?
  • 没错!特别是,我希望 ViewPager 能够检测并处理在 EditText 上发生的事件。

标签: android


【解决方案1】:

您应该禁用默认启用的 EditText 的水平滚动:

editText.setHorizontallyScrolling(false);

而且它有效! EditText 停止拦截来自 ViewPager 的触摸事件,因此,EditText 区域上的任何左/右滑动(尤其是在非聚焦时)都会移动 ViewPager。

我在 ViewPager 的片段之一上的 EditText 视图遇到了同样的问题,这个解决方案帮助了我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多