在ViewPager中处理一次触摸



我有一个用于实现滑动选项卡的ViewPager布局。Everiting工作正常,但是我会在组成ViewPager的每个片段中处理一个触摸事件。我尝试在我的主要活动中执行此操作:

@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;
}

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

你至少有一个问题。您的 if 语句正在检查操作是否等于向上和向下。这永远不会计算为 true,因为该值不可能同时向上和向下。

尝试如下:

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

找到 ViewPager 正在分页的片段类型的类。

在该类中,找到视图 --比如说您正在分页的图像的图像视图--

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

在"touch"事件的本地处理程序中,回调接口。

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

此处介绍的活动到片段接口

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

最新更新