我遇到的问题是可扩展列表视图能够正确向下滚动,但是当我尝试向上滚动可扩展列表视图时,它会启动刷新。我可以在首次向下滑动时向上滚动可展开列表,然后再向上滚动。我想知道是否可以仅在列表顶部或正确向上滚动时刷新可扩展列表。我知道列表视图有一个onScrollListener,所以有类似于可扩展列表的东西吗?欢迎任何帮助或其他建议
由于
答案 0 :(得分:0)
swipeRefreshLayout.setEnabled(false);
expandableListView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int topRowVerticalPosition = (expandableListView == null || expandableListView.getChildCount() == 0) ? 0 : expandableListView.getChildAt(0).getTop();
swipeRefreshLayout.setEnabled(firstVisibleItem == 0 && topRowVerticalPosition >= 0);
}
});
答案 1 :(得分:-1)
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
boolean allow = false;
if(visibleItemCount>0) {
long packedPosition = elvMounters.getExpandableListPosition(firstVisibleItem);
int groupPosition = ExpandableListView.getPackedPositionGroup(packedPosition);
int childPosition = ExpandableListView.getPackedPositionChild(packedPosition);
allow = groupPosition==0 && childPosition==-1 && elv.getChildAt(0).getTop()==0;
}
mSwipeRefreshLayout.setEnabled(allow);
}