我想按下某个键或按钮时设置第一个可见项目(它是page up
和page 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;
}