检查可扩展列表第一项是否显示

Check if Expandable List first item is displaying

我正在编写代码,我需要检查可扩展列表的第一项是否可见。

为此,我检查了 AbsListView.OnScrollListener.onScroll(..firstItem, visibleItemCount..),但如果列表展开,它就无法正常工作。

还有什么方法可以确定第一项是否完全可见。

这里有什么建议!

以下解决方案对我有用:

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

        if(expListView.getChildAt(firstVisibleItem) != null) { // 1
            int top = expListView.getChildAt(firstVisibleItem).getTop();

            if(top >= 0) { // 2
                if(this.firstVisibleItem != firstVisibleItem) { // 3
                    if(view != null){
                        this.firstVisibleItem = firstVisibleItem;
                    }
                }
            }
        }
    }
  1. 确保可见视图项不为空。
  2. 检查向第一个显示项目的移动。即,对于我正在检查的列表的第一项,您可以删除此选项。
  3. 放弃相同的项目请求:这对执行很重要,否则你会接到多个电话。