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

Problem mit Thread.sleep()

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von egon232, 21.06.2010.

  1. egon232, 21.06.2010 #1
    egon232

    egon232 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    1
    Registriert seit:
    05.02.2010
    Hallo,

    wollte gestern abend ein "pseudo Würfel" schreiben, d.h. es werden vor der richtigen Augenanzahl andere angezeigt:

    [FONT=&quot]
    [/FONT]
    Code:
    public void onCreate(Bundle  savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);
       Button bwuerfeln = (Button)findViewById(R.id.wuerfeln);
         ImageButton bwuerfel1 = (ImageButton)findViewById(R.id.wuerfel1);
         bwuerfeln.setOnClickListener(new OnClickListener()  {
                @Override
           public void  onClick(View v) {[INDENT][INDENT]               bwuerfel1.setBackground(getResources().getDrawable(R.drawable.eins);
    [/INDENT][/INDENT][INDENT][INDENT] Thread.sleep(500);
    [/INDENT][/INDENT][INDENT][INDENT]bwuerfel1.setBackground(getResources().getDrawable(R.drawable.zwei);    
    [/INDENT][/INDENT]}
      });
      }
    [FONT=&quot]

    Wenn ich dann den Button klicke dann wird das erste setBackground nicht ausgeführt sondern 0,5 sekunden gewartet und gleich des zweite..

    Weis irgendjemand wie ich des ansonsten umsetzen könnte?

    Grüße

    sorry code isn bissl verrutscht

    [/FONT]
     
  2. MichaelS, 21.06.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    ist korrektes verhalten... du stopst den aktuellen thread wohl den UI Thread und somit kann nichts mehr gerendert werden, wenn du den Thread stoppst ;) ist doch ganz klar :D
     
    egon232 bedankt sich.
  3. DieGoldeneMitte, 21.06.2010 #3
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Beiträge:
    1,230
    Erhaltene Danke:
    256
    Registriert seit:
    05.02.2010
    Phone:
    Nexus 5X
    Tablet:
    Nexus 7 (2013)
    Für eine Animation solltest Du einen eigenen Thread starten.
    Dieser darf dann warten und kann mit postInvalidate() dem UI Thread sagen,
    dass etwas Neues zum Darstellen da ist.
     
    egon232 bedankt sich.
  4. egon232, 21.06.2010 #4
    egon232

    egon232 Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    1
    Registriert seit:
    05.02.2010
    @MichaelS: klingt irgendwie logisch hehe ;-)

    @DieGoldeneMitte: Hättest du zufällig ein codebeispiel? wenn net ist auch net so wild... befrag ich onkel google ;-)

    Grüße
     

Diese Seite empfehlen