Klickaufforderung

S

SnoK

Neues Mitglied
0
Huhu,

ich habe vor kurzem erst mit der Androidentwicklung angefangen und habe ein Problem welches sicher leicht zu lösen ist:

Wie sagt man dem Programm dass es nun z.B. auf ein Clickevent warten soll. Bisher mach ich es so dass ich per boolschen Wert alle Eingaben blocke bis es an der Zeit ist, glaube aber nicht dass das die schönste Methode ist.

Danke und Gruß
 
View.OnClickListener
 
Knapp an der Frage vorbei, trotzdem danke
 
Dann weiss ich nicht was genau deine Frage war. Wenn etwas nur bei einem klick ausgeführt werden soll packt man das in den OnClickListener.
 
Es geht nicht darum was passiert wenn geklickt wird, sondern wann ein Klick akzeptiert und verarbeitet werden soll und wann nicht. Wie gesagt, bisher sagt eine boolsche variable ob der Klick verarbeitet werden soll oder nicht. Würde gerne wissen ob das so standard ist oder ob man das anders macht. Hoffe das war verständlicher
 
Wenn der Button nicht klickbar sein soll würde ich in auf enabled = false setzen. Ein Button der nichts tut ist nicht sehr gern gesehen beim Benutzer.

Bei anderen Views könnte das schon schwieriger werden, da könnte man auf boolsche Variablen zurückgreifen. Mir fällt allerdings gerade kein Anwendungsfall ein ;)
 
Ich kann meine Frage nun präzisieren:

while(phaseOneCounter < 9){
phaseOne(currentPlayer);
switchTurn(currentPlayer);
phaseOne(currentPlayer);
phaseOneCounter++;
}

private void phaseOne(Player player){
gv.state = 1;
while(gv.state != 0){}
}

Nicht nur dass es nicht funktioniert, würde es funktionieren wäre es das der unsauberste Code den man sich vorstellen kann: phaseOne sagt der der OberflächenView durch gv.state = 1 dass es nun auf ein touchevent warten soll. Klar ist aber dass die while-Schleife oben nicht wartet bis die Eingabe eingetroffen ist und somit durchrast, deswegen eine whileSchleife die nichts(!) tut bis die eingabe getätigt wurde. Wie umgehe ich das?

Edit: wo gibts das codefenster? bei dem beispiel gehts ja zum glück noch
 
Also doch ein OnClickListener (oder welcher Listener auch immer).
Du programmierst den Code bis zu der Stelle wo du den Input brauchst, dann hängst du deinen Listener an den View und darin rufst du eine andere Methode auf die alles weitere macht.
 
  • Danke
Reaktionen: SnoK
Das ganze macht man dann per callbacks?

Edit: ich geh mal davon aus : D zu freundlich, danke!
 
Zuletzt bearbeitet:
Zurück
Oben Unten