如何设置项目选择和第一个可见?

时间:2015-02-12 02:47:59

标签: android listview selection

我想按下某个键或按钮时设置第一个可见项目(它是page uppage down之类的函数),我使用setSelection(position),但我发现当我使用此方法,所选的所选项目不在第一个可见位置。

例如,像这样的ListView:

-----visible-----
1(this is selected)
2
3
4
5
-----visible-----
-----invisible----
6
7
8
9
10
-----invisible-----

当我按下页面时,它变为

----invisible
1
2
3
-----invisible-----
-----visible-----
4
5
6(this is selected)
7
8
-----visible-----
-----invisible-----
9
10
-----invisible-----

我想要的是:

-----invisible-----
1
2
3
4
5
-----invisible-----
-----visible-----
6(this is selected)
7
8
9
10
-----visible-----

如何设置setSlection并首先显示此项?


这是代码:

selection = mDetailsListView.getSelectedItemPosition() + getVisibleCount() - 1;
selection = selection > mDetailsListView.getCount() ? mDetailsListView
        .getCount() - 1 : selection;
mDetailsListView.setSelection(selection);

private int getVisibleCount() {
    return mDetailsListView.getLastVisiblePosition() -mDetailsListView
                .getFirstVisiblePosition() + 1;
}

0 个答案:

没有答案