1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Klickaufforderung

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von SnoK, 23.08.2010.

  1. SnoK, 23.08.2010 #1
    SnoK

    SnoK Threadstarter Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    23.08.2010
    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ß
     
  2. the_alien, 23.08.2010 #2
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    View.OnClickListener
     
  3. SnoK, 23.08.2010 #3
    SnoK

    SnoK Threadstarter Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    23.08.2010
    Knapp an der Frage vorbei, trotzdem danke
     
  4. the_alien, 23.08.2010 #4
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    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.
     
  5. SnoK, 24.08.2010 #5
    SnoK

    SnoK Threadstarter Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    23.08.2010
    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
     
  6. the_alien, 24.08.2010 #6
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    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 ;)
     
  7. SnoK, 24.08.2010 #7
    SnoK

    SnoK Threadstarter Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    23.08.2010
    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
     
  8. the_alien, 24.08.2010 #8
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    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.
     
    SnoK bedankt sich.
  9. SnoK, 24.08.2010 #9
    SnoK

    SnoK Threadstarter Neuer Benutzer

    Beiträge:
    5
    Erhaltene Danke:
    0
    Registriert seit:
    23.08.2010
    Das ganze macht man dann per callbacks?

    Edit: ich geh mal davon aus : D zu freundlich, danke!
     
    Zuletzt bearbeitet: 24.08.2010

Diese Seite empfehlen