<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Sep 13, 2022 at 8:18 PM John Hendrikx <<a href="mailto:john.hendrikx@gmail.com">john.hendrikx@gmail.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
For example, I scrolled my list so that the first Item is half visible <br>
(at the top), and the fifth item is a quarter visible (at the bottom) <br>
and I double click the 3rd item to go to a new screen (destroying the <br>
original list view in the process), I find there is no way to recreate <br>
the list view in the exact same state as it was before.<br></blockquote><div><br></div><div>Great usecase. </div><div>Actually, this is possible already though with the current set of methods exposed by VirtualFlow.<br>For example:<br><br></div><div>IndexedCell ic = getFirstVisibleCell()</div><div><br>gives you the first cell that is visible. You can ask its index, andwhen you restore the list you scroll to that index.</div><div>By asking its layoutY() you know how it is positioned and you can invoke scrollPixels(double) when you want to restore the list. If the height of the items didn't change, the item at the bottom will still match the item before you left the list.</div><div><br></div><div>Granted, this requires some boilerplate code. But unless I miss something, there is in theory nothing that prevents doing this with the current set of API's?</div><div><br></div><div>- Johan</div></div></div>