【问题标题】:handle a single touch inside ViewPager在 ViewPager 中处理一次触摸
【发布时间】:2013-09-07 20:23:01
【问题描述】:

我有一个用于实现滑动标签的 ViewPager 布局。 Everiting 工作正常,但我会在构成我的 ViewPager 的每个 Fragment 中处理一次触摸事件。我尝试在我的主要活动中这样做:

@Override 
public boolean onTouchEvent(MotionEvent event) {
    int action=event.getAction();
    if((action == MotionEvent.ACTION_DOWN) && (action == MotionEvent.ACTION_UP)) {
    getActionBar().show();
    return true;
    }
return false;
}

但它似乎不起作用。 我该怎么做?

【问题讨论】:

    标签: android android-fragments android-viewpager touch-event


    【解决方案1】:

    您至少有一个问题。您的 if 语句正在检查 action 是否同时等于 up 和 down。这永远不会评估为真,因为该值不可能同时上升和下降。

    试试这样:

    if((action == MotionEvent.ACTION_DOWN)) {
        getActionBar().show();
        return true;
    }
    

    【讨论】:

      【解决方案2】:

      找到 ViewPager 正在分页的 Fragment 类型的类。

      在那个类中找到视图——比如你正在分页的图像的 imageView——

      在该视图上添加侦听器,包括在本地事件处理程序中的 Activity 的回调接口,片段附加到该接口。

      在“触摸”事件的本地处理程序中,回调接口。

      在片段 onAttach 中,验证附加到的 Activity 是否实现了处理程序。

      Activity 到 Fragment 接口解释here

      然后,您的主要活动可以在回调的远程部分实现您真正想要的触摸事件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多