首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >以编程方式滚动到Android ListView中的特定位置。

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

Stack Overflow用户
提问于 2011-09-27 05:09:10
回答 10查看 174.9K关注 0票数 162

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

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

EN

回答 10

Stack Overflow用户

发布于 2011-09-27 05:39:24

对于直接滚动:

getListView().setSelection(21);

要平滑滚动,请执行以下操作:

getListView().smoothScrollToPosition(21);
票数 396
EN

Stack Overflow用户

发布于 2015-03-30 19:37:23

将您的代码放入处理程序,如下所示:

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);

干杯!

票数 10
EN

Stack Overflow用户

发布于 2016-03-19 20:14:23

默认情况下,Listview滚动条将定位在顶部,但如果不可见,则需要滚动,请使用以下命令:

if (listView1.getFirstVisiblePosition() > position || listView1.getLastVisiblePosition() < position)
            listView1.setSelection(position);
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7561353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档