我知道ListView
只会创建所需的视图项,而其他视图项会在我们滚动时动态创建,处理此项的函数是newView
和bindView
。但我找不到处理视图外的项目的函数。
我为CursorAdapter
使用自定义ListView
。
我需要创建一个ArrayList
来保留当前在视图上的项目。我该怎么做?ListView
有这样的功能吗?
答案 0 :(得分:0)
如果您想知道ListView
中当前可见哪些项目,可以将onScrollListener
设置为ListView
。
lv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
在onScroll
中,您可以获得第一个和最后一个可见位置(firstVisibleItem
+ visibleItemCount
),从而获取当前可见的基础ArrayList
中的项目。