1. egon232, 21.06.2010 #1
    egon232

    egon232 Threadstarter Android-Hilfe.de Mitglied

    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

    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

    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

    @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