2013-09-25 60 views
0

我想做一個列表視圖,當用戶滾動到列表視圖的底部其他項目的列表自動填充internet.I編寫代碼到該可擴展列表視圖的適配器(在getGroupView()方法)像這樣,如何更新用戶向下滾動的列表視圖?

public View getGroupView(final int arg0, final boolean arg1, View arg2, ViewGroup arg3) { 
    //if(arg2==null){ 
     //arg2=act.getLayoutInflater().inflate(R.layout.layout_exlistview_group, null);   
    } 
    //((TextView)arg2.findViewById(R.id.nameText)).setText(item.getItemName()); 

    if(arg0>=getGroupCount()-1){//chech is near for end 
     /*here i run a asynctask to download data and add items to SparseArray of this class.That sparsearray is the source to the adapter to view them in listview*/ 
    } 

    //return arg2; 
} 

那麼這是正確的方式來做到這一點,或者有沒有什麼好辦法做到這一點?

+0

這應該有助於http://benjii.me/2010/08/endless-scrolling-listview-in-android/ – Swayam

回答

1

從您使用的事實getGroupView我假設您使用的是ExpandableListView,而不是常規的ListView,應該在您的問題中說明。

無論哪種方式,最好的方法是將OnScrollListener分配到您的列表中,然後在那裏進行檢查,而不是在getGroupView

我建議你把東西沿着以下到您的onScroll方法的線路:

if (firstVisibleItem + visibleItemCount > (totalItemCount - NUM_BEFORE_LOAD)) { 
    loadMore() 
} 

其中NUM_BEFORE_LOAD根據您的例子是1,但你可以把任何你想使列表的加載速度比觸及底部時要快。