2017-06-06 116 views
-3

在我的代码我想获得访问另一个类中的变量的值。 更准确地说,我想获得我的类GameArena中变量点的值,并用值覆盖我的类GameActivity中的变量点。 这里是类:访问变量从另一个类,扩展活动的类扩展视图

public class GameArena extends View { 
int points; 
public GameArena(Context context) { 
    super(context); 
    [...] 
    points = 0; 
} 

@Override 
protected void onDraw(Canvas canvas){ 
    super.onDraw(canvas); 

    [...] 

    invalidate(); 
} 

public void actualizePoints(){ 

} 

@Override 
public boolean onTouchEvent(MotionEvent event) 
{ 
    [...] 
    points++; 
} 

} 

这里是在GameActivity:

public class GameActivity extends Activity { 

Boolean gameRunning = false; 
int round = 0; 
int points = 0; 
float screenScale; 
GameArena gameArena; 
FrameLayout gameArenaFrameLayout; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_game); 
    startGame(); 
} 

public void startGame(){ 
    startRound(); 
} 

public void startRound(){ 
    points = 0; 
    startGameArena(); 
} 

public void startGameArena(){ 
    gameArenaFrameLayout = (FrameLayout)findViewById(R.id.frameLayoutGameArena); 
    Log.i("GameArenaFrameLayout", Integer.toString(gameArenaFrameLayout.getWidth())); 
    gameArena = new GameArena(this); 
    gameArenaFrameLayout.addView(gameArena); 
} 

public void actualizeScreen(){ 

} 

}

有人可以给我一个提示,我怎么能解决这个问题? 谢谢。

+0

做一个getter方法''中GameArena' points'。 –

回答

0

使用一个getter:

public class GameArena extends View { 
    private int points; 
    public GameArena(Context context) { 
     super(context); 
     [...] 
     points = 0; 
    } 

    public int getPoints() { 
     return points; 
    } 
} 

在活动时间:

gameArena.getPoints(); 
+0

哇,这很容易,非常感谢! – Slartibartfast2000