0

我想制作一个列表视图,当用户滚动到列表视图的底部时,其他列表项会自动从互联网填充。我在该可扩展列表视图的适配器中(在 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;
}

那么这是正确的方法还是有什么好的方法呢?

4

1 回答 1

1

从您使用的事实来看,getGroupView我假设您使用的是ExpandableListView,而不是常规ListView,这可能应该在您的问题中说明。

无论哪种方式,最好的方法是将 a 分配OnScrollListener到您的列表中,然后在那里进行检查,而不是在getGroupView.

我建议您在onScroll方法中加入以下内容:

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

NUM_BEFORE_LOAD根据您的示例,其中的位置为 1,但您可以将其设为任何您想要的内容,以使列表加载速度比到达底部时更快。

于 2013-09-25T17:28:06.633 回答