ListView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 总个数”。
ListView.getChildCount()(ViewGroup.getChildCount) 返回的是显示层面上的“所包含的子 View 个数”。
二者有什么不同?当 ListView 中的 Item 比较少无需滚动即可全部显示时,二者是等价的;当 Item 个数较多需要滚动才能浏览全部的话, getChildCount() < getCount() 其中 getChildCount() 返回的是当前可见的 Item 个数。
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
/**firstVisibleItem表示在现时屏幕第一个ListItem(部分显示的ListItem也算)
在整个ListView的位置(下标从0开始)**/
Log.i("firstVisibleItem", String.valueOf(firstVisibleItem));
/**visibleItemCount表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数**/
Log.i("visibleItemCount", String.valueOf(visibleItemCount));
/**totalItemCount表示ListView的ListItem总数**/
Log.i("totalItemCount", String.valueOf(totalItemCount));
/**listView.getFirstVisiblePosition()表示在现时屏幕第一个ListItem(第一个ListItem部分显示也算)
* 在整个ListView的位置(下标从0开始)**/
Log.i("firstPosition", String.valueOf(listView.getFirstVisiblePosition()));
/**listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全显示出来才算)
* 在整个ListView的位置(下标从0开始)**/
Log.i("lasPosition", String.valueOf(listView.getLastVisiblePosition()));
}
});
分享到:
相关推荐
移动列表插件Editable Listview.rar 移动列表插件Editable Listview.rar 移动列表插件Editable Listview.rar 移动列表插件Editable Listview.rar 移动列表插件Editable Listview.rar 移动列表插件Editable Listview....
在Android应用开发中,ListView是十分常见且重要的组件,它用于显示一列可滚动的数据项。这份"Android应用源码之listView_listView.zip"压缩包很可能是包含了一个示例项目,展示了如何在Android应用程序中使用...
在这个"Android-listview.zip"项目中,开发者将学习如何在Android Studio环境下创建数据库,存储数据,并将这些数据(包括图片和文字)加载到ListView中,以提供用户友好的界面。 首先,我们需要了解如何在Android ...
在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。它允许用户滚动查看内容,同时提供了多种交互方式,如点击、长按等。在本示例中,我们将探讨如何实现一个支持多选功能的ListView,即"android...
ListView是Windows Forms和Android开发中常见的一种用户界面组件,用于展示可滚动的列表数据。在本文中,我们将深入探讨ListView的使用、功能及其在不同平台上的实现方式。 **Windows Forms中的ListView** 在...
这份"安卓Android源码——listView.rar"压缩包很可能包含了一份关于ListView自定义实现和优化的源代码示例。下面我们将深入探讨ListView在Android中的工作原理、常见用法以及如何进行性能优化。 首先,ListView基于...
ListView添加数据源,SimpleAdapter 重点是ListView事件处理,OnItemClickListener 如果和上下文菜单关联,点上下文菜单去操作item项 要在OnContextItemSelected方法里面得到 AdapterMenuInfo的对象,才能得到你选择...
在Android开发中,自定义ListView是一项常见的任务,它允许开发者根据特定需求定制列表项的布局、样式和交互。"android-custom-listview.7z"这个压缩包文件很可能包含了一个示例项目,展示了如何在Android应用中实现...
在Android开发中,ListView是常用的一种视图组件,用于展示多行数据列表。然而,为了提供更好的用户体验,我们经常需要对ListView进行自定义,添加一些高级功能,如下拉刷新、分页加载以及Item点击事件处理。这篇...
在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。当用户滚动到ListView的底部时,自动加载更多数据的功能通常被称为“无限滚动”或“下拉加载更多”。这种功能可以提升用户体验,避免用户手动...
老二牛车教育程矢 AndroidUI之ListView.ppt
在Android应用开发中,ListView是一种常用的控件,用于展示大量数据列表。它的可滚动特性使得它在各种场景下都非常实用,比如展示联系人、菜单项等。然而,仅仅使用ListView来展示列表数据并不足够,很多时候我们...
【Android UI设计与ListView详解】 在Android开发中,ListView是一个非常重要的组件,它用于展示大量数据的列表形式,常用于应用中的菜单、联系人列表等场景。本资料主要围绕程矢老师的Android UI教学内容,详细...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。由于一次性加载所有数据可能会消耗大量内存并导致应用性能下降,因此通常会采用分页加载(Pagination)的方式来优化用户体验。本篇文章将深入...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据的列表形式。它具有高度可定制性,能够实现各种自定义布局和交互效果。本教程将深入讲解如何实现一个基本的ListView,并在用户点击列表项时跳转到...
在Android开发中,ListView是一种常用的组件,用于展示大量的数据列表。然而,标准的ListView并不支持直接的拖放排序功能。为了实现这个特性,开发者通常会借助第三方库,如`DragSortListView`。在这个主题中,我们...
ArrayAdapter是Android中一个简单的适配器,它将数据集(通常是数组或ArrayList)与ListView绑定,使数据能够正确地显示在ListView的各个列表项中。创建ArrayAdapter的基本步骤如下: 1. 创建一个数据模型类,如`...
总结,"android-pro-listview.7z"涵盖了ListView的各个方面,无论你是初学者还是经验丰富的开发者,都能从中获取宝贵的知识,提升对ListView的理解和使用技巧。通过深入学习,你将能够应对各种复杂的列表展示需求,...
Android Menu和ListView 整合设计 源码 package com.MyMenu; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.os.Bundle; import ...