怎么在2个SurfaceView之间传递数据,比如要把上一个surfaceview的血量传到下一个surfaceview中去, 有人说是用SharedPreference,我用它在activity中写了2个方法,一个存数据,一个读数据,可是在surfaceview中调用异常,该怎么实现传递,求高手!!!!!(我用的是一个activity,多个surfaceview)答好了追加!!!!!
调试欢乐多
假设你这个数据是字符串类型的,那就定义一个
private static String myData = null;存的时候:
myData = "你的数据";读的时候:
你的对象变量 = myData;没必要用到SharedPreference
同一个Activity里面,通过我说的这种方式传数据是不可能不行的,你可以在存值、取值语句后面分别加一个
Log.i("存值", myData);Log.i("取值", myData);测试值的数据。至于你说的错误,应该是你其他程序代码中处理的问题。
if (isdoor){
if ((bmp_x >= SW - 180) && (bmp_y >= door_y && bmp_y <= door_y + 215)){
main.life = life_width;//life_width是要传递的数据
GameSurfaceViewOne2 game2 = new GameSurfaceViewOne2(iActivity);
}
}
}public static int life;//activity里声明的变量public void surfaceCreated(SurfaceHolder arg0) {//surfaceview创建时调用
// TODO Auto-generated method stub
power_width = power.getWidth();
你定义里面是life,传递的却是life_width。
改掉吧
life_width是要存储的数据
你定义的是life,传递却用life_width,当然会有问题。你必须要用同一个。