ListView 記住上次選中的item

2021-08-25 02:15:12 字數 644 閱讀 4917

listview 記住上次選中的item

這句話描述的可能抽象點 舉個例子吧:

有個顯示所有聯絡人列表的listview 現在要求如下:每次關閉該activity 再開啟之 要求始終顯示上次選中的item 為什麼會有這個要求?

因為listview 預設是全部成員都顯示的 而activity可視面積有限 這就會導致一些在後面的item 在剛開啟時沒有顯示 只有通過向下滾動 才能使之顯示

而現在就是要:省去滾動操作 剛進入就顯示上次的item 如何做?

1. sharepreference 用於儲存最後選中的item id 如何做:

* 定義全域性int id 用於記錄選中的item id

* 在activity::ondestroy() 裡面 儲存上面的id

2. 每次開啟該activity 在activity::oncreate() 最後部分 新增如下**:

listview list = ....;

// do some initial working

list.setselection(id);

上面**有效的原因是:

設定其setselection(int position) 後 如果該position不處於螢幕 會自動滾動以使之可見!

listview記住上次滑動的位置

記住上一次滾動時的位置資訊 lvinfodevice.setonscrolllistener new onscrolllistener override public void onscrollstatechanged abslistview view int scrollstate 上述 裡的,l...

記住上次選中狀態的方法總結

情景 匯出列表時,使用者想記錄上次的選中的列狀態 處理流程 建立中間表temp,欄位jyzd記錄選中的列名稱 jsp頁面 姓名 性別js var checkbox myform find type checkbox filter checked 獲取頁面上每個被選中的值 var checkstr c...

vim記住上次開啟位置

使用了centos7,換了幾次配置檔案後,vim竟然不能自動記住檔案上次開啟了。查了好多種方法就這個搞定了問題。在配置檔案.vimrc或 etc vimrc中加入下面兩行。set viminfo 10,100,20,n viminfo au bufreadpost if line 0 if line...