Android 按顺序处理触摸事件

Android 按顺序处理触摸事件,android,Android,我想编写一个程序,在单个活动中按特定顺序处理触摸事件 例如: 显示了一些视图。 如果用户没有点击第一个视图,我将显示另一个活动。 但是,如果用户点击它,我想检测第二个,然后是第三个,等等 我如何处理多个触摸事件? 我想我需要一个onTouchEvent方法,在其中我需要一个if-else语句用于第一次单击,但我不知道如何监控后续的触摸事件。我假设图片是主视图中的一个图像视图。为什么不在每个视图中添加touchlisteners呢?这可能会对您有所帮助。我总是这样做的 public void on

我想编写一个程序,在单个活动中按特定顺序处理触摸事件

例如: 显示了一些视图。 如果用户没有点击第一个视图,我将显示另一个活动。 但是,如果用户点击它,我想检测第二个,然后是第三个,等等

我如何处理多个触摸事件?
我想我需要一个
onTouchEvent
方法,在其中我需要一个if-else语句用于第一次单击,但我不知道如何监控后续的触摸事件。

我假设图片是主视图中的一个图像视图。为什么不在每个视图中添加touchlisteners呢?

这可能会对您有所帮助。我总是这样做的

public void onClick(View v){
if(v==imageView1){

//do ssomething 
}
if(v== imageView2){
//do something
}
if(v==imageView3){
//do something
}

这样,您可以根据不同的按钮或图像视图执行操作,仅当单击第n个视图时,才为n+1视图设置
onClickListener

像这样

view1.setOnClickListener(new OnClickListener() {
     void onClick(View v) {
        view2.setOnclickListner(new Onclicklistener() {
           void onClick(View v) {
           // add further view's click listeners else do what ever if this 
           // is the last view.
           }
        });
    }

});

这不是一个优雅的解决方案,但应该很有效。

从您的问题陈述来看,您似乎有一个有序的视图列表,每个视图都应该有一个触摸式侦听器,但是第二个视图的侦听器不应该启动,除非第一个视图的侦听器首先启动

这可以通过在您的活动中放置计数器轻松完成:
private int highestIndexTapped
。点击视图时,检查其索引是否为
index==highestIndexTapped+1


如果是,则将
highestIndexTapped
增加1并触发侦听器。否则,要么接受触摸事件,要么将其传递到管道的下一部分。

问题不清楚。请重新措辞。对不起,我说得再清楚不过了。杜德应该提高你的问题陈述技能。是的,它是一个图像视图,也可以是一个按钮。我的问题是我不知道如何有序地处理事件。现在还不清楚你想做什么。如果您使用触控监听器,您不必担心顺序,因为每个视图都有不同的触控监听器,并且只有在特定视图被触控时才会被调用。@Jan,我认为他需要按视图出现的顺序或类似的顺序接受点击。例如,是的,如果屏幕上的图片从左到右显示,我想从左到右触摸它们。例如,先按1,然后按2秒,再按3秒等等,这对我有帮助,但不是完全的。我还不知道如何按顺序处理事件。所以:view1.setOnClickListener(new-OnClickListener(){void-onClick(View-v){//do-something}view2.setOnClickListener(new-OnClickListener(){void-onClick(View-v){//do-something}});
会很好的,谢谢你的帮助!