0

我只想知道我可以知道列表是否开始滚动以及滚动何时停止。

我的代码片段如下:

listView.setOnScrollListener(new OnScrollListener() {

            public void onScrollStateChanged(AbsListView arg0, int arg1) {
                // TODO Auto-generated method stub
                /*View  toolbar = arg0.findViewById(R.id.toolbar);

                // Creating the expand animation for the item
                ExpandAnimation expandAni = new ExpandAnimation(toolbar, 500);*/

                // Start the animation on the toolbar

            }

            public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
                // TODO Auto-generated method stub
                if(arg1!=0){
                    toolbar.setVisibility(View.GONE);   
                }
                else{

                }
            }
        });
4

1 回答 1

0

您只需要查看回调中的scrollState参数:onScrollStateChanged

    list.setOnScrollListener(new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            switch(scrollState) {
            case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
                // Scrolling just started
                break;
            case OnScrollListener.SCROLL_STATE_FLING:
                // User just removed his finger (but still scrolling)
                break;
            case OnScrollListener.SCROLL_STATE_IDLE:
                // Scrolling is finished
                break;
            }
        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        }
    });
于 2012-11-22T10:44:01.197 回答