![](/img/trans.png)
[英]How can I display Listview elements when Edittext for searching is empty?
[英]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,visibleItemCount和totalItemCount滾動這就是所謂的。
當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.