【发布时间】:2014-11-23 14:34:39
【问题描述】:
我有一个网格视图,想在到达列表末尾后更新网格视图中的项目。为了实现这一点,我决定使用 OnScrollListener。但是 OnScrollListener 的行为很奇怪,因为它多次调用我的方法来更新网格视图..
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
if (firstVisibleItem + visibleItemCount >= totalItemCount) {
// End has been reached
// Call method to update
Log.i("CountShit", String.valueOf(firstVisibleItem) + " + "
+ String.valueOf(visibleItemCount) + " >= "
+ String.valueOf(totalItemCount));
}
}
});
在我的日志中,if 条件被多次调用,因为 onScrollListener 一直在听我猜的滚动..
09-29 14:06:10.338: I/CountShit(23640): 12 + 8 >= 20
09-29 14:06:10.353: I/CountShit(23640): 12 + 8 >= 20
09-29 14:06:10.369: I/CountShit(23640): 12 + 8 >= 20
09-29 14:06:10.385: I/CountShit(23640): 12 + 8 >= 20
09-29 14:06:10.400: I/CountShit(23640): 12 + 8 >= 20
09-29 14:06:10.424: I/CountShit(23640): 14 + 6 >= 20
09-29 14:06:10.439: I/CountShit(23640): 14 + 6 >= 20
09-29 14:06:10.455: I/CountShit(23640): 14 + 6 >= 20
09-29 14:06:10.470: I/CountShit(23640): 14 + 6 >= 20
09-29 14:06:10.486: I/CountShit(23640): 14 + 6 >= 20
有没有一种方法,如果我第一次到达列表的末尾,我的 upate 方法被调用..然后如果用户向上或向下滚动或任何不应该再次调用该方法! (直到我到达我更新的课程列表的末尾)。
【问题讨论】:
标签: android gridview onscrolllistener