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.
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):
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).
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.
Tags und Links android android-listview