2014-01-15 74 views
0

我有ListView的應用程序。這個ListView有一個進度條。當我點擊這個進度條時,它顯示一個隱藏的佈局(這個佈局包含帶歌詞的文本視圖)。所以當我點擊最後一個進度條時,它顯示隱藏的佈局,但我需要手動滾動。我希望滾動必須是自動的。 請幫幫我。如何自動滾動到列表視圖的底部?

回答

2

嘗試是這樣的:

private void scroll2bottom() { 
    yourListView.post(new Runnable() { 
     @Override 
     public void run() { 
      yourListView.setSelection(yourListAdapter.getCount() - 1); 
     } 
    }); 
} 
+0

不,它不工作,我只是在onItemClick()中調用此方法。 –

+0

確認您實際上正在輸入該方法,我已經在幾個項目中使用了該代碼,並且它一直有效! – nKn

+0

非常感謝@NKN。現在它的工作.... :-) –

2

您可能會發現smoothScrollByOffset()smoothScrollBy()方法ListView最有用。特別是smoothScrollBy()同時需要滾動距離和滾動動畫應該發生的持續時間。使用這種方法,您可以精確控制滾動列表的距離。

1

在你的列表視圖的佈局只是使用transcriptMode

一個ListView具有內置的自動滾動

機器人:transcriptMode = 「正常」 witll滾動時它的底部,但不是當你滾動

和設置alwaysScroll將始終滾動到底部

,然後就可以設置了android:stackFromBottom =「真」,使其從底部

+0

默認情況下,滾動到最後,但我希望最初滾動必須在側面,當我點擊最後一個進度條,然後,隱藏佈局即將到來,但它是沒有出現,因爲我需要手動滾動。但我想在這一刻滾動必須自動。 –

0

嘗試生長在這樣:

lv.setTranscriptMode(ListView.TRANSCRIPT_MODE_ALWAYS_SCROLL); 
lv.setStackFromBottom(true); 
+0

你應該嘗試並多解釋一下。 – albertjan

0

要滾動ListView控件編程,你可以使用它的smoothScrollByOffset (int offset)或smoothScrollToPosition(int position)方法,您可以找到有關ListView小部件的文檔以及如何使用這些方法的here