2012-07-13 125 views
0

我有一個列表視圖,哪些項目動態添加到列表的頂部。我顯示了列表頂部發生的一些最新事件。問題是,這些事件非常頻繁發生,就像每秒發生5次事件。這使得名單下降。假設用戶正在查看一個事件,那麼當發生新事件時,它會將他正在閱讀的事件推到下面,然後消失。我希望將新事件添加到頂部,但只有在他向上滾動時才應顯示。一旦發生新事件,我會在適配器上調用notifydatasetchanged並將此列表推下。無論如何,我可以凍結滾動。我試圖通過setTranscriptMode禁用滾動。但它似乎沒有幫助。請給我一些提示和指向我禁用ListView滾動到頂部

回答

5

你可以做的是嘗試使用getFirstVisiblePosition()獲得ListView在屏幕上的可見位置,然後再次用setSelection設置適配器的位置。

int position = mListView.getFirstVisiblePosition(); 
mListView.setAdapter(adapter); 
mListView.setSelection(position + 1); 

我想你會需要(位置+ 1),因爲你將每個項目添加到列表頂部的項目。