如何仅在握持触摸期间显示活动

时间:2014-09-28 18:43:23

标签: android android-activity android-listview ontouchlistener

在我的第一个活动中,我在ListView上设置了一个OnTouchListener,我正在使用onTouch()方法检测触摸。当我得到一个MotionEvent.ACTION_DOWN时,我启动了第二个活动。我想在第二个活动中检测到MotionEvent.ACTION_UP,因此第二个活动可以在触摸发生时自行完成()。

现在,可以在侦听器中的第一个活动中很好地检测到MotionEvent.ACTION_UP。但是在第一个活动中也检测到MotionEvent.ACTION_UP(即使在我停止触摸时显示第二个活动)

我的目标是完成关于修饰的第二项活动。因此,只要用户保持触摸,就应该显示第二个活动。

所以我认为我需要: 1)从第一个开始完成第二个活动的方法,因为在第一个活动上检测到了修饰。但是当我从第一个活动startActivity()创建第二个活动时,我没有任何对新创建的活动的引用,所以我无法从第一个活动完成()它。 为此,我需要参考第一个活动。但是,当我startActivity()时,我没有这样的信息。

2)即使在另一个活动上进行了降落,第二个活动也可以检测到修饰。但即使我实现了包含无所不包的relativeLayout的OnTouchListener,也没有检测到修饰。即使我在显示第二个活动时进行了修饰,它仍会在第一个活动中被检测到。但在触摸后,如果我触摸和放下,这些事件在第二个活动中得到很好的处理。所以第二个活动的听众运作良好,但由于某种原因,它无法触及第一个活动启动的触摸。我还让onTouch()在第一个活动上返回false,让事件自由地转到我在第二个活动上创建的监听器;那没起效。仍有第一项活动处理的补救措施。

对于记录,第一个活动实际上是一个片段,但我想这无关紧要......

感谢您的帮助

0 个答案:

没有答案