ListView - 一次加载25个项目,但希望加载下25个项目

时间:2014-11-07 03:20:53

标签: android android-listview

我的ListView一次显示25个项目,我一次只能从我尝试使用的Web服务下载25个项目。请问我如何将下两个项目加载到List视图中,并选择返回上一个ListView(以及之前的25个主题)?有这样做的标准方法吗?我试过四处搜索,标准参考书中似乎没有任何内容。非常感谢。

3 个答案:

答案 0 :(得分:0)

修改ListViewAdapter中的getCount()

答案 1 :(得分:0)

实际上你有三个选项

1)如果你希望下一个25项在你到达ListView结束时加载,那么你必须实现一个OnScrollListener,设置ListView的onScrollListener,然后你应该能够正确处理事情。例如

private int preLast;
// Initialization stuff.
yourListView.setOnScrollListener(this);


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

        // Make your calculation stuff here. You have all your
        // needed info from the parameters of this function.

        // Sample calculation to determine if the last 
        // item is fully visible.
         final int lastItem = firstVisibleItem + visibleItemCount;
       if(lastItem == totalItemCount) {
          if(preLast!=lastItem){ //to avoid multiple calls for last item
           // load your next 25 items here
            Log.d("Last", "Last");
            preLast = lastItem;
          }
     }
}  

2)如果您需要,ListView末尾应该有一个按钮,其中onClick返回下25个项目,那么您应该为ListView添加页脚视图。例如,请参阅此tutorial

3)您可以使用PullToRefresh库加载更多数据,这些数据很容易获得。其中一个是here

因此,您可以选择三个选项中的任何一个,以满足您的要求。

答案 2 :(得分:0)

据我所知,你想要:
目前,我获取了25个项目,然后将其显示在我的列表视图中:OK
然后(按下一步,或者执行st),然后加载我的25个项目并将其推入列表视图:OK
现在,如果我回去,我希望我的列表视图显示以前的数据...
有两种可能的方法来实现这一目标。

要做的一些重点:

  1. 加载数据:您可能需要 asyntask 。 (如果没有,请记住,网络进程可能会阻止用户界面并导致Android无法响应。)
  2. 适配器中,getCount()返回25,并调用 adapter.notifyDatasetChanged()来更新数据列表(可能在postExecute()中);