2017-06-06 120 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