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:
Code
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);
}
}
Alles anzeigen
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.