Android ListView 获取当前可见项的位置

5
如果 ListView 只显示了 5 个项目,而所有数据有 40 个项目。我如何获取当前选定的可见项位置(1〜5)?我尝试过使用 getSelectedItemPosition,但它会返回所有数据中的位置。我想要每个项目上显示的可见项位置编号。
    class MyAdapter extends BaseAdapter {
        @Override 
        public int getCount(){
         ...
        }
        @Override 
        public Object getItem(int position){
         ...
        }
        @Override    
        public View getView(int position, View convertView, ViewGroup parent)
        {  
           // I want to get the position number in visible items here
        }
    }

@Andry 请发布一些代码。 - Linh
1
你可以尝试使用 listView.getSelectedItemPosition() - listView.getFirstVisiblePosition(),这将返回一个在 1-5 之间的位置。 - Satyen Udeshi
2个回答

11

getFirstVisiblePosition() 可以获取所有项中的第一个可见位置,因此您可以使用 getSelectedItemPosition() - getFirstVisiblePosition() 来实现它。


1

getFirstVisiblePosition()可以获取第一个可见位置,getLastVisiblePosition()可以获取最后一个可见位置。因此,getLastVisiblePosition()-getFirstVisiblePosition()返回可见项的数量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接