- Forum-Beiträge: 8
06.06.2017, 22:38:28 via Website
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
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.