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

Animationen über Thread ausführen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von MichaelS, 02.06.2010.

  1. MichaelS, 02.06.2010 #1
    MichaelS

    MichaelS Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    Hallo zusammen,

    ich habe momentan das Problem, dass ich es nicht hinbekomme, eine View in nem Thread zu aktualisieren und diese per Animation dan einzublenden...

    Ich hab es bereits mit Handler und Runable probiert aber die Animation wird einfach nicht ausgeführt =(

    Als neben Information, die View an sich, wird in einer Tabelle gerendert. Und nur diese eine View wird getriggert, nicht die Tabelle selber. Jedoch bekomme ich die Animation nicht ausgeführt...

    Kann mir jeman vielleich bissl Pseudo Code hier rein werfen? ;) Wäre sehr dankbar =)

    EDIT: es scheint wohl ein generelles problem mit der listview zu geben =/ ich habe eine listview, und einen thread, der die daten in der listview anpassen soll... das ändern soll durch eine animation verdeutlicht werden...

    jedoch passiert die animation nur, wenn ich einmal in der tabelle runter scrolle und wieder hoch... ich weiß wirklich nicht, was ich für ein fehler mache =(


    EDIT2: Problem wurde gefunden.... Das Property android:layout_weight="1" in nem LinearLayout, hat das Problem verursacht... warum, fragt google bitte aber ich werde probieren morgen, das ganze mit relativeLayouts zu machen und hoffen, dass es dort dan geht ansonsten kann man schon die weiße jacke holen :D

    Gruß
    MichaelS
     
    Zuletzt bearbeitet: 03.06.2010
  2. mago, 02.06.2010 #2
    mago

    mago Junior Mitglied

    Beiträge:
    33
    Erhaltene Danke:
    4
    Registriert seit:
    30.04.2010
    Phone:
    HTC Desire
    Ich habe das auch alles ausprobiert, bis es funktioniert hat.

    Entscheidend ist es, die Aktion, die Dein UI manipuliert im sog. UI-Thread auszuführen.

    Das siehst Du in setSeekProgress(). Ich bediene hier einen SeekBar, durch dessen ChangeListener in einem View das Bild ausgetauscht wird.

    Code:
        public void onCheckedChanged(CompoundButton check, boolean arg1) {
            if (check.isChecked()) {
                animThread = new AnimateThread();
                animThread.start();
            } else {
                animThread.setRunIt(false);
            }
        }
    
        private class AnimateThread extends Thread {
            boolean runIt = true;
     
            public void run() {
                while(runIt) {
                    [...]
                    setSeekProgress(index);
                }
            }
            public void setRunIt(boolean runIt) {
                this.runIt = runIt;
            }
        }
    
        private void setSeekProgress(final int _index) {
            runOnUiThread(
                new Runnable() {
                    public void run() {
                        seeker.setProgress(_index);
                    }
                }
            );
        } 
    
     
  3. MichaelS, 02.06.2010 #3
    MichaelS

    MichaelS Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    hm ich glaub ich hab garkein problem mehr mit den threads sondern irgend was anderes... ich hab es nun nochmal mit runOnUIThread probiert und gleiches ergebnis...

    erst wenn das item in der listview nicht mehr sichtbar ist und ich wieder zum iitem scrolle, funktioniert es fehlerlos.... vorher bleibt die animation einfach hängen... ich weiß nicht wieso... ich werd mir mal morgen nen einfaches beispiel entwickeln und dan können wir nochmal weiter raten =)

    Ansonsten, wenn jemand noch ideen hat, bin ich immer sehr sehr dankbar =)

    Gruß
    MichaelS
     
  4. MichaelS, 03.06.2010 #4
    MichaelS

    MichaelS Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    hey zusammen...

    anscheind ist es kein programmierfehler von mir an sicht, da ich nun das problem nachgebaut habe und es fehlerfrei funktioniert... also muss es nen bug in der ursprünglichen app sein... nun fängt die schöne suche an ;)

    Also ihr braucht nun restmal kein tipps mehr geben... ich melde mich wieder, wenn ich wieder paar tipps hab ;)

    gruß
    MichaelS
     
  5. MichaelS, 03.06.2010 #5
    MichaelS

    MichaelS Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    Problem gefunden - > siehe ersten post (edit2)
     

Diese Seite empfehlen