Wie schreibe ich in einem Handler auf eine Varialble außerhalb des Handlers?

  • Antworten:0
  • OffenNicht stickyBentwortet
  • Forum-Beiträge: 8

06.06.2017, 22:38:28 via Website

Hallo,
ich habe ein Problem, bei dem ich nicht weiter weiß.
ich will in einem Handler auf eine Variable schreiben, die außerhalb des Handlers initialisiert und deklariert wird.

Es geht um die Variable points ind dieser Klasse:

public class GameActivity extends Activity {
int points = 1;

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


 public int calculatePoints(){
    points++;
    if (points<0){
        points=0;
    }
    return points;
}

public int getTotalpoints(){
    return points;
}

public void actualizeScreen(){

    if (!gameArena.isGameOver() && points > 0){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                points = calculatePoints();
                textViewPoints.setText(Integer.toString(points));
                actualizeScreen();
            }
        },100);
    }
}

Wenn nun in der Methode actualizeScreen() die Variable points in das TextView geschrieben wird, steht da die richtige Punktzahl.
Wenn aber die Methode getTotalPoints aufgerufen wird gibt sie den Wert 1 zurück.
ich gehe davon aus, dass es daran liegt, dass der Handler nicht wirklich in der Variable points meiner Klasse speichert.
Leider kenne ich mich nicht gut genug aus mit Handlern um zu verstehen was da passiert, und wie ich das Problem beheben kann.
Kann mir da jemand helfen?
Mit freundlichen Grüßen,
Aufda.

— geändert am 07.06.2017, 18:07:16

Antworten

Empfohlene Artikel