检查可扩展列表第一项是否显示
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;
}
}
}
}
}
- 确保可见视图项不为空。
- 检查向第一个显示项目的移动。即,对于我正在检查的列表的第一项,您可以删除此选项。
- 放弃相同的项目请求:这对执行很重要,否则你会接到多个电话。
我正在编写代码,我需要检查可扩展列表的第一项是否可见。
为此,我检查了 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;
}
}
}
}
}
- 确保可见视图项不为空。
- 检查向第一个显示项目的移动。即,对于我正在检查的列表的第一项,您可以删除此选项。
- 放弃相同的项目请求:这对执行很重要,否则你会接到多个电话。