App Entwickelung - Problem mit Variablen

  • Antworten:3
SirMrMartin
  • Forum-Beiträge: 2

04.01.2015, 20:35:57 via Website

Hallo AndroidPit Forum,

Ich lerne momentan noch wie man eine App entwickelt. Bevor ich mein Hauptprojekt Anfang habe ich mit einem kleineren App angefangen. Die App soll einfach pro Klick den Wert um +1, aber wenn ich mehrmals auf den Button drücke bleibt der Wert bei 1 stehen und geht nicht höher als vorgesehen (pro Klick = +1). Ich weiß schon das es an der Variable liegt aber wie ich es löse nicht. Ich habe schon nach Lösungen im Internet gesucht aber nichts gefunden.

    public void zaehlOnClick(View view) {
    TextView tw = (TextView)findViewById(R.id.textView);
    long zaehler=0;
    zaehler++;
    tw.setText(String.valueOf(zaehler));

}

}

Es wäre schon wenn mir schnell geholfen werden kann.

MFG SirMrMartin

— geändert am 04.01.2015, 20:42:04

Antworten
Andy N.
  • Forum-Beiträge: 22.375

04.01.2015, 20:37:38 via Website

Hallo SirMrMartin

Herzlich willkommen bei uns im Forum :)

Bitte beachte, dass Threads mit nicht aussagekräftigem Titel bei uns üblicherweise den Regeln entsprechend entfernt werden. Ich bitte dich daher, deinen Threadtitel bei deinem nächsten Besuch, spätestens aber innerhalb der nächsten 24 Stunden noch etwas aussagekräftiger zu gestalten (Hierfür einfach unter deinem ersten Beitrag auf 'bearbeiten' klicken, dann kannst du oben noch mal den Titel anpassen)

Danke :)

Viele Grüße,
Andy


OnePlus 3 (Resurrection Remix 5.8.2)
LG G Watch

Regeln | unsere Mods & Admins

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

04.01.2015, 22:22:28 via Website

Hallo SirMrMartin,
Herzlich wilkommen :)

Bitte passe den Titel erneut an, er beschreibt dein Problem nicht.


Du machst einen Typischen anfängerfehler:

 public void zaehlOnClick(View view) {
TextView tw = (TextView)findViewById(R.id.textView);
long zaehler=0; // Hier wird dein Zähler bei jedem click auf 0 zurückgesetzt
zaehler++;
tw.setText(String.valueOf(zaehler));

}

Nun musst du die Variable Zähler als Klassenvariable definieren um das Problem zu lösen:

long zaehler=0;
public void zaehlOnClick(View view) {
TextView tw = (TextView)findViewById(R.id.textView);

zaehler++;
tw.setText(String.valueOf(zaehler));

}

LG

}

LG Pascal //It's not a bug, it's a feature. :) ;)

SirMrMartin

Antworten
SirMrMartin
  • Forum-Beiträge: 2

05.01.2015, 00:28:26 via Website

Vielen Dank!

Antworten