在此代码 fragment 中,当滚动到列表末尾时,方法 Log.d()
执行了 3 次。为什么会发生这种情况以及如何检测列表末尾以仅执行一次方法?
fragment :
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (getIntent().getBooleanExtra("isFavorites", false) == false) {
try {
if (visibleItemCount > 0 && firstVisibleItem + visibleItemCount == totalItemCount) {
Log.d(TAG, "Adding to list");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
最佳答案
您可以实现一个 boolean
变量来确保 if
语句仅执行一次。
boolean executed = false;
和
if(visibleItemCount > 0
&& firstVisibleItem + visibleItemCount == totalItemCount
&& !executed)
{
executed = true;
}
关于android - onScroll()问题(执行了3次),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10740211/