2015-09-25 20 views
1

最近我碰到一个方法来扭转在列表视图中的数据是:怎样的getItem(getCount将() - 为getPosition()-1)的作品

getItem(getCount() - getPosition() - 1) 

参考:Display new items at the top of a ListView

如何这个公式实际上工作吗?

例如,我有一组数据含有:

A,B,C,d,E具有位置分别 1 2,3,4,5。

因此,getCount将()= 5,

使用上面的位置的公式是:

getCount将() - 为getPosition() - 1

a = 5 - 1 -1 = 3 
b = 5 - 2 - 1 = 2 
c = 5 - 3 - 1 = 1 
d = 5- 4 - 1 = 0 
e = 5 - 5 - 1 = -1 

基于这些计算,如何在列表视图中的数据获取相反的顺序?

结果,我得到在listiview使用该方法之后是:

E,d,C,B,A。

谢谢。

回答

2
a = 5 - 0 -1 = 4 
b = 5 - 1 - 1 = 3 
c = 5 - 2 - 1 = 2 
d = 5- 3 - 1 = 1 
e = 5 - 4 - 1 = 0 

该项目的位置是从0开始,而不是从1开始。因此,从0开始,它将显示e,d,c,b,a。这就是公式的工作原理。

+0

谢谢。解决了我的问题。 –

+0

@MeiYi请标记为答案,如果它解决了您的问题,谢谢:) –

+0

不错的+1 ...... :) – Elltz