通过touchEvent从类视图中完成Android整理活动

时间:2012-07-26 22:44:18

标签: android view android-activity touch

我有类GameActivity,并且有一个方法setContentView(GameView)。在扩展GameView的课程View中,我有一个方法:

public class GameView extends View{
...
    public boolean onTouchEvent(MotionEvent event){
         switch(event.getAction()){ 
           case MotionEvent.ACTION_DOWN:    
            Intent intent = new Intent (contexTmp, MainActivity.class); 
            contexTmp.startActivity(intent); 
            //finish(); //->how to finish this activity from class view 
        }
    }
}

正如您在方法GameView中的课程onTouchEvent()中看到的那样,当我按下按钮时,我将活动更改为MainActivity。我的问题是:如何从类视图完成活动(首先我必须完成当前活动,之后转到下一个活动),因为方法: finish()不起作用?

2 个答案:

答案 0 :(得分:4)

使用getContext()返回用于创建视图的活动上下文:

public boolean onTouchEvent(MotionEvent event) {
    switch(event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
          ...   
          ((Activity)getContext()).finish();
    }
}

答案 1 :(得分:1)

只要您的GameView是活动中的其中一个视图,您只需致电:

((Activity)getContext()).finish();

这将是创建视图的活动的上下文。所以,只要确保你想要完成的活动,你就可以开始了!