簡體   English   中英

Listview setOnScrollListener向下滾動

[英]Listview setOnScrollListener scroll up down

我有一個ListView ,我想顯示/隱藏一些有關滾動事件的內容。

當它向下滾動時,我想隱藏ListView上方的一種布局(傳遞給gone )。 向上滾動時,我要顯示此布局。 我寫了一個有效的代碼,但是有一個問題。

當我緩慢滾動ListView時,我會得到一個非常糟糕的結果:ListView會跳轉(但只有當我緩慢執行時才跳轉)。

這是我的來源:

main_listview.setOnScrollListener(new AbsListView.OnScrollListener() {
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {

            if (mLastFirstVisibleItem > firstVisibleItem) {
                Log.e(getClass().toString(), "scrolling up");
                _title.setVisibility(View.VISIBLE);

            } else if (mLastFirstVisibleItem < firstVisibleItem) {
                Log.e(getClass().toString(), "scrolling down");

                MainActivity.azercell_title.setVisibility(View.GONE);
            }

            mLastFirstVisibleItem = firstVisibleItem;
            mLastVisibleItemCount = visibleItemCount;
        }

        public void onScrollStateChanged(AbsListView listView,
                int scrollState) {


        }
    });

如何更改代碼以檢索相同的結果(在滾動中顯示/隱藏內容)卻又不會出現奇怪的跳轉?

嘗試這個 :

listview.setOnScrollListener(new OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {

    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
                        int visibleItemCount, int totalItemCount) {

            if(firstVisibleItem+visibleItemCount == totalItemCount && totalItemCount!=0)
                    {
                        if(flag_loading == false)
                        {
                            flag_loading = true;

                        }
                    }        
                }
            });

注意:為新的分頁項目設置適配器后

flag_loading = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM