1. getListView().setOnScrollListener(onScrollListener);
  2. AbsListView.OnScrollListeneronScrollListener=newAbsListView.OnScrollListener(){
  3. booleanflag=false;
  4. @Override
  5. publicvoidonScrollStateChanged(AbsListViewabsListView,intscrollState){
  6. if(scrollState==AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL){//触屏滑动中
  7. if(flag){
  8. LinearLayoutlinearLayout=(LinearLayout)Checkin_context.findViewById(R.id.loadcheckin);
  9. if(linearLayout.getVisibility()==View.GONE&&linearLayout!=null){
  10. linearLayout.setVisibility(View.VISIBLE);
  11. }
  12. getData(false);
  13. }
  14. }
  15. }
  16. @Override
  17. publicvoidonScroll(AbsListViewabsListView,intfirstVisibleItem,intvisibleItemCount,inttotalItemCount){
  18. Log.v(TAG,firstVisibleItem+","+visibleItemCount+","+totalItemCount+"|"+getListView().getFirstVisiblePosition()+","+getListView().getLastVisiblePosition());
  19. if(firstVisibleItem+visibleItemCount==totalItemCount&&!flag){
  20. flag=true;
  21. }else
  22. flag=false;
  23. }
  24. };

因为我是直接extends ListActivity,在ListActivity中本身自带了一个Listview,所以可以直接getlistview

唯一要讲的就是在 OnScroll中firstVisibleItem + visibleItemCount == totalItemCount

firstVisibleItem :表示在屏幕中第一条显示的数据在adapter中的位置,visibleItemCount 则是屏幕中最后一条数据在adapter中的数据,totalItemCount则是adapter中的总条数!

adapter(适配器)我们把其看做是一个list集合,可以在其中add很多的数据!而在屏幕中显示的数据,

只是这个集合中的一部分!firstVisibleItem +visibleItemCount = 这个集合总条数(list.size())

以此判断动态加载数据!

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. android自定义适配屏幕的ImageView
  3. 怎样实现android http-post方法
  4. android 从媒体库去数据
  5. 购物车
  6. Android(安卓)socket通信app Client端
  7. HttpURLconnection上传数据
  8. Android(安卓)封装的数据库管理操作类
  9. android 蓝牙发送数据

随机推荐

  1. Android百度地图——搜索服务之周边检索
  2. Android(安卓)客户端访问服务器以及服务
  3. android 线性布局几个属性
  4. 浅析Android权限机制(一) —— Android的权
  5. Android(安卓)Studio 2.2 预览 - 新的UI
  6. Android(安卓)Studio 3.2.2- Android(安
  7. Android中各种JAVA包的功能描述
  8. Android应用程序注册广播接收器(registerR
  9. 【Android(安卓)内存优化】Android(安卓)
  10. Android计算器低级错误?都是二进制惹的祸!