一个简单的问题,不借助pandas,二维列表如何快速分组?
一个简单的问题,不借助pandas,二维列表如何快速分组?[['A',33],['A',0],['A',12],['A',3],['B',3],['B',0],['B',77],['C',1],['C',2],['C',5],['C',0],['C',11],['C',19]]或者[['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C', 'C', 'C'], [33, 0, 12, 3, 3, 0, 77, 1, 2, 5, 0, 11, 19]]分组是连续的,分组...
1 回答1.5k 阅读✓ 已解决
Josef Pfleger:(最佳方案)
一个解决方案是,执行OnScrollListener,用onScroll方法,在适当的环境中调整ListAdapter(例如,增加item)。
下面的ListActivity会从40开始,在用户滚动到list尾部时,显示整数list,
如果程序运转时间较长,最好使用单独线程。
saschoar:
我的这种方法是基于OnScrollListener界面,但这种方法在低端设备上的滚动效果更佳,因为在滚动操作中,计算出所有结果是难以执行的。
1. 让ListFragment或者ListActivity执行OnScrollListener
2. 在class上增加如下命令:
currentPage是应该加到list上的数据源,threshold是list item的数量(从尾部算起)。如果将threshold设置成0,用户不得不滚动到最后去加载更多item。
3.(可选)"load-more check"只会在用户停止滚动时才会弹出。为了使用方便,你可以在list末尾,使用listView.addFooterView(yourFooterView)增加一个陪在指示器。
举例如下:
4.(可选)最后,如果通过item和page数量都没有增加的话,可以通过listView.removeFooterView(yourFooterView)重置配载指示器。
darbat:
你可以凭借onScrollListener检测list末端,运行代码如下:
另一种方法是:
使用这种方法,你还需要增加addMoreData()条件。
在list中加入所有元素后,你还需要调用适配器中notifyDataSetChanged() 来升级View。