簡體   English   中英

當ListView滾動到底部時,如何加載新元素?

[英]How i can load new elements when my ListView is scrolled to bottom?

您可以在這里找到我的代碼: 如何使用onPostExecute和ListView使用數據正確構建表

ListView滾動到底部時,我需要從服務器加載數據。 我試圖在Stackoverflow上尋找解決方案,但這對我沒有幫助。

另外,如果不難,我想知道它是如何工作的。

謝謝大家

您有2個解決方案:

1)使用OnScrollListener

您必須具有一個擴展ListView並實現OnScrollListener的類

初始化視圖時,將其設置為滾動偵聽器: setOnScrollListener(this);

實現onScroll方法。 當你的論據firstVisibleItem,visibleItemCounttotalItemCount滾動這就是所謂的。

firstVisibleItem+visibleItemCount==totalItemCount到達列表的底部時,您可以再次調用AsyncTask來加載下一個項目。

2)使用自定義適配器

在必須重寫的getView方法中,您可以訪問要渲染的項目的位置,即即將在屏幕上可見。

假設您將項目存儲在List items ,並且在position == items.size()-1時到達列表的底部時就知道這些List items 然后,您可以調用AsyncTask

警告

請謹慎使用這兩種解決方案,如果列表中的所有項目都適合屏幕,則可能會無緣無故地頻繁調用AsyncTask 在開始之前,您必須對此進行必要的檢查。

在您的程序中使用Scroll狀態更改偵聽器...我希望它將對您有所幫助....

 listStudies.setOnScrollListener(new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (Logic Condition) {
                //Here also You can do your Logic here and then you can achieve your wishes.....
            }

        }
        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
             if (Logic Condition) {
                //You just do your Logic here and then you can achieve your wishes.....
            }

        }
    });

暫無
暫無

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

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