Wie überprüfe ich, wann mein ListView fertig gezeichnet wurde?

8

Ich habe ein ListView . Ich habe seinen Adapter aktualisiert und notifydatasetchanged() aufgerufen. Ich möchte warten, bis die Liste fertig gezeichnet ist, und dann getLastVisiblePosition () in der Liste aufrufen, um das letzte Element zu überprüfen.

Aufruf von getLastVisiblePosition() direkt nach notifydatasetchanged() funktioniert nicht, weil die Liste noch nicht fertig gezeichnet ist.

    
ha1ogen 20.03.2015, 18:37
quelle

1 Antwort

27

Hoffentlich kann das helfen:

  • Richten Sie einen addOnLayoutChangeListener in der Listenansicht
  • ein
  • Rufen Sie .notifyDataSetChanged ();
  • auf
  • Dies wird den OnLayoutChangeListener auslösen sobald er fertig ist
  • Entfernen Sie den Listener
  • Code bei Aktualisierung ausführen ( getLastVisiblePosition() )

    %Vor%
Petro 20.03.2015, 18:41
quelle

Tags und Links