从由TouchEvent类视图的Android精加工活性(Android finishing act

2019-09-20 07:00发布

我有类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()不工作?

Answer 1:

使用getContext()返回用于创建视图的活动背景:

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


Answer 2:

只要你GameView是活动中的一个视图,你可以简单地调用:

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

这将是创建的视图活动的背景。 因此,只要确保是要完成的活动,你是好去!



文章来源: Android finishing activity from class view by touchEvent