下面这个动作我可以检查滚动列表视图向下完成。现在我想检查列表视图滚动到上和完成。怎么办?

@Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        if (prevVisibleItem != firstVisibleItem) {
            if (prevVisibleItem < firstVisibleItem)
                Log.e(getClass().toString(), "DOWN");
            else
                Log.e(getClass().toString(), "UP");

            prevVisibleItem = firstVisibleItem;
            /*
            * CHECK SCROLLING BUTTOM FINISH
            */

            if((firstVisibleItem + visibleItemCount) ==  totalItemCount)
            {
                Log.i("Info", "Scroll Bottom FINISH" );
            }

            /*
            * CHECK SCROLLING UP FINISH
            */
        }
    }

最佳答案

if(firstVisibleItem == 0 && !isFirstTime){
 //it is top of the list
}

在类isFirstTime中定义一个变量,并将其初始化为true。当用户滚动列表时
检查
if (firstVisibleItem  != 0 )
{
    isFirstTime =false;
}

这意味着用户滚动列表,第一个元素将消失,因此如果再次
firstVisibleItem  == 0

表示列表向上滚动并完成。

关于android - 找出ListView是否向上滚动?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25543643/

10-12 01:17