以编程方式滚动到Android ListView中的特定位置

以编程方式滚动到Android ListView中的特定位置

如何以编程方式滚动到某个特定位置ListView

例如,我有一个String[] {A,B,C,D....},我需要将顶部可见项设置ListView为我的索引21 String[]


郎朗坤
浏览 665回答 3
3回答

潇潇雨雨

对于直接滚动:getListView().setSelection(21);为了平滑滚动:getListView().smoothScrollToPosition(21);

慕虎7371278

对于具有滚动持续时间的SmoothScroll:getListView().smoothScrollToPositionFromTop(position,offset,duration);参数position - >滚动到偏移的位置---->滚动完成时从视图顶部到位的所需距离(以像素为单位)duration->滚动使用的毫秒数注意:来自API 11。HandlerExploit的回答是我正在寻找的,但我的listview非常冗长,并且还有字母滚动条。然后我发现同样的功能也可以采取其他参数:)编辑:(来自AFDs建议)要定位当前选择:int h1 = mListView.getHeight();int h2 = listViewRow.getHeight();mListView.smoothScrollToPositionFromTop(position, h1/2 - h2/2, duration);

慕的地8271018

将代码放在处理程序中,如下所示,public void timerDelayRunForScroll(long time) {         Handler handler = new Handler();          handler.postDelayed(new Runnable() {                        public void run() {                    try {                     lstView.smoothScrollToPosition(YOUR_POSITION);                 } catch (Exception e) {}             }         }, time);      }然后调用这个方法,如,timerDelayRunForScroll(100);干杯!!!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android