ScrollView scrollTo funktioniert nicht

Gleiche Problem wie ScrollView .scrollTo funktioniert nicht? Speichern ScrollView position auf rotation

Ich dynamisch Elemente hinzufügen scrollView in onCreate. Ich versuche im folgenden, nachdem alle Artikel Hinzugefügt wurden:

    //no effect
    ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);

    //no effect
    ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
    mainScroll.post(new Runnable() {
        public void run(){
            ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
            mainScroll.scrollTo(0, 0);
        } 
    });

    //works like a charm
    ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
    mainScroll.postDelayed(new Runnable() {
        public void run(){
            ScrollView mainScroll = (ScrollView) findViewById(R.id.average_scroll_mainScroll);
            mainScroll.scrollTo(0, 0);
        } 
    }, 30);

Schließe ich, dass es eine Veranstaltung wie "DOM-bereit"? Gibt es irgendwelche Rückrufe?

  • Meine beste Vermutung ist, dass da die ScrollView noch nicht gelegt aus oder gemessen, noch direkt nach dem aufblasen es, der erste Ansatz nicht funktioniert. Durch das Hinzufügen einer Verzögerung, du gibst der view-Hierarchie genug Zeit, Sie zu initialisieren. Ich würde versuchen, das anbringen einer OnGlobalLayoutListener zu den ScrollView's ViewTreeObserver benachrichtigt zu werden, wenn die Aussicht ist bereit zu scrollen'.
InformationsquelleAutor user1284151 | 2012-10-14
Schreibe einen Kommentar