onScroll()问题(执行三次)

时间:2012-05-24 15:07:18

标签: android listview onscroll

在此代码段中,当滚动到达列表末尾时,方法Log.d()执行了3次。为什么会发生以及如何检测列表结尾只执行一次方法?

段:

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();
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您可以实现boolean变量以确保仅执行一次if语句。

boolean executed = false;

if(visibleItemCount > 0 
    && firstVisibleItem + visibleItemCount == totalItemCount 
    && !executed)
{
    executed = true;
}