【问题标题】:Disable ViewPager Swipe禁用 ViewPager 滑动
【发布时间】:2018-09-10 16:09:42
【问题描述】:

我在一个扩展 FragmentActivity 的类中。要禁用 viewpager 滑动,我不想覆盖 onInterceptTouchEvent 方法,这是不可能的,因为我无法扩展 viewpager 类,因为我已经在扩展 FragmentActivity 类。

这个问题的解决方案是创建一个自定义的viewpager:

public class CustomViewPager extends ViewPager
{
    private boolean enabled;
    public CustomViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    public boolean onInterceptTouchEvent(MotionEvent event) {
            return this.enabled && super.onInterceptTouchEvent(event);
    }
}

 CustomViewPager viewPager;
 viewPager = findViewById(R.id.viewpager);

然后我得到以下转换错误:

android.support.v4.view.ViewPager 无法转换为 MainPage$CustomViewPager

是否有其他方法可以覆盖 onInterceptTouchEvent 方法或禁用视图寻呼机滑动?

【问题讨论】:

标签: android android-viewpager


【解决方案1】:

随便写;

viewPager = (CustomViewPager) findViewById(R.id.viewpager);

findViewById 方法返回视图,你得说要初始化哪个类。

【讨论】:

  • 这不起作用。它说 (CustomViewPager) 是多余的,我得到相同的转换错误:android.support.v4.view.ViewPager cannot be cast to MainPage$CustomViewPager
  • 使用您的自定义类(包括包名称)更改 xml 文件中的 ViewPager 标记。
  • 感谢“使用您的自定义类(包括包名称)更改 xml 文件中的 ViewPager 标记”有效。
猜你喜欢
  • 2017-06-02
  • 2015-04-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多