0

我有一个用于实现滑动标签的 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;
}

但这似乎行不通。我怎样才能做到这一点?

4

2 回答 2

3

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

试试这样:

if((action == MotionEvent.ACTION_DOWN)) {
    getActionBar().show();
    return true;
}
于 2013-09-07T20:31:19.913 回答
0

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

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

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

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

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

片段接口的活动解释here

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

于 2013-09-09T01:36:04.843 回答