我有类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()
不起作用?
答案 0 :(得分:4)
使用getContext()
返回用于创建视图的活动上下文:
public boolean onTouchEvent(MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
...
((Activity)getContext()).finish();
}
}
答案 1 :(得分:1)
只要您的GameView是活动中的其中一个视图,您只需致电:
((Activity)getContext()).finish();
这将是创建视图的活动的上下文。所以,只要确保你想要完成的活动,你就可以开始了!