我做的一个游戏,用的surfaceview画图,现在我想在游戏结束的时候结束surfaceview的画图然后跳转到另一个activity类里重新开始游戏
surfaceview所在的activity相互访问可以通过内部类,也可以把当前activity,但最好定义一个内部类,便于维护和理解这是和surfaceview交互的。
activity定义内部类
class CallBack(){
public void setInt(int i){
Log.d("test",i+"");
//这里通过handler的handlemessage操作textview,如何更新看http://blog.csdn.net/allmycheers/article/details/6160403
}
}
activity的onCreate中
SurfaceView sv=(SurfaceView)findViewById(R.id.surfaceviewid);
sv.setCallBack(new CallBack());
surfaceview中
public class GameViewOne extends SurfaceView SurfaceHolder.Callback{
private CallBack cb = null;
public void setCallBack(CallBack cb){
this.cb = cb;
}
public void refresh(){
cb.setInt(1);//这里可以访问当前的activity
}
}