我有一個listfragment和instagram式的照片源。如何保留listview的位置,以便下次應用程序啓動時顯示listview究竟在哪裏,以及它剩下的是什麼?如何將listview定位到應用程序銷燬之前剩下的位置?
編輯:我打算寫入列表視圖的sharedPreferences位置在onPause,然後讓他們onCreate並通過setSelectionFromTop(int position,int y)設置listview的位置。但是我不知道如何獲得y。如果我將y = 0,那麼在該位置的視圖將首先被看到,即在屏幕的頂部。但事實並非如此。該視圖可能留在上次屏幕中間
我打算寫入列表視圖的sharedPreferences位置onPause,然後讓他們onCreate並通過setSelectionFromTop(int位置,int y)設置列表視圖的位置。但是我不知道如何獲得y。如果我將y = 0,那麼在該位置的視圖將首先被看到,即在屏幕的頂部。但事實並非如此。該視圖可能留在上次屏幕中間 – Nazerke 2015-04-04 12:39:02
這不是我會做的。想象一下,你的列表視圖中有100個項目,而「上次瀏覽的項目」是具有「id = 12345」的第98個項目。我會保存的將是'12345'(我正在顯示的視圖的ID),然後當用戶調出屏幕時,搜索我的列表,使用該ID查找該項目的位置,然後設置listview到那。你應該使用'setSelection(position)'而不是'setSelectionFromTop()' – kha 2015-04-04 12:42:23
是的,但是這會在屏幕的最開始顯示ID爲12345的項目,而該項目可能已經接近中間或底部或應用程序被銷燬前屏幕上的任何其他地方。 – Nazerke 2015-04-04 14:30:40