Wie kann ich auf die Variable einer anderen Klasse zugreifen?

  • Antworten:2
  • Bentwortet
Aufda Hut
  • Forum-Beiträge: 8

06.06.2017, 16:18:16 via Website

Hallo,
ich möchte in meinem code auf eine variable einer anderen Klasse zugreifen. Im genaueren möchte ich auf die Variable points in der Klasse GameArena zugreifen, und zwar von meiner Klasse GameActivity.
hier die beiden Klassen:
GameArean:

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++;
}

}

und GameAcitvity:
public class GameActivity extends Activity {

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);
    gameArena = new GameArena(this);
    gameArenaFrameLayout.addView(gameArena);
}

public void actualizeScreen(){

}

}

wie ihr seht habe ich in GameArena die Methode actualizePoints schon mal vorbereitet. Auch die Methode actualziScreen habe ich schon vorbereitet.
Wie kann ich nun den Wert von points in GameArena auf den wert von points in GameActivity überschreiben, damit ich sie dann in ein Textview setzten kann.
Ich wäre echt froh, wenn mir jemand helfen könnte.
Mit fruendlichen Grüßen.

Antworten
Luigi
  • Forum-Beiträge: 2.282

06.06.2017, 16:57:56 via Website

Anstatt der actualizePoints()-Methode einfach

public int getPoints(){
  return points;
}

Die kannst Du dann in der actualizeScreen() mit

gameArena.getPoints()

aufrufen und bekommst den aktuellen Wert der Instanz.

Aufda Hutswa00LudyPascal P.

Antworten
Aufda Hut
  • Forum-Beiträge: 8

06.06.2017, 23:36:23 via Website

Dankeschön,
das war einfach :)

Antworten