Wissen, wann GridView vollständig gezeichnet und fertig ist?

8

Ich habe eine lange GridView mit benutzerdefinierten Adapter, woher weiß ich, wenn GridView vollständig angezeigt wird und bereit?

Hier ist mein Problem im Code:

%Vor%

In der Sequenz wird die Methode "AlertSomeItemsOfTheListView" ausgeführt, bevor die GridView vollständig gezeichnet wird.

    
Shehabix 02.01.2013, 08:49
quelle

2 Antworten

18

Sie könnten eine ViewTreeObserver Instanz für Ihre GridView erhalten und diese zum Anhören verwenden für Ereignisse wie onLayout . Sie können ViewTreeObserver für Ihre View mit View.getViewTreeObserver() abrufen. Ich bin mir nicht sicher, ob onLayout event für Sie genug ist, da es nicht genau bedeutet, dass ein View vollständig gezeichnet ist, aber Sie können es versuchen.

Hier gibt es ein Codebeispiel, mit dem Sie auf onLayout event warten könnten (Sie könnten diesen Code beispielsweise in onCreate method von Activity verwenden):

%Vor%

Hinweis: Es ist wichtig, die Registrierung des Listeners nach dem Aufruf aufzuheben. Wenn Sie das nicht tun, wird es bei jedem onLayout -Ereignis aufgerufen, was nicht das ist, was wir hier wollen (wir wollen es nur einmal ausführen).

    
Piotr 02.01.2013, 09:19
quelle
0

Wenn ein GridView / ListView über einen Adapter verfügt, ruft er getView auf, wenn er Elemente anzeigt, die angezeigt werden sollen. Wenn du wirklich eine Methode aufrufen musst, nachdem alle Ansichten angezeigt wurden, könntest du etwas wie ....

machen %Vor%

Ich bin nicht sicher, dass das funktionieren wird, aber schau Ссылка ( ) und Ссылка lassen es so erscheinen.

    
snotyak 02.01.2013 09:12
quelle

Tags und Links