Android中的倒置ListView?

bjd*_*son 8 android android-widget android-listview android-cursor

有一种简单的方法以相反的顺序显示ListView吗?我正在尝试创建一个基于会话的应用程序,并希望最近的条目位于ListView的底部.我知道transcriptMode和stackFromBottom,但我的问题是数据的顺序.

假设我有100个会话项目,并且想要显示项目80-100,其中100是最近的会话项目.我想显示80-100,这意味着我的查询中的ORDER BY id desc LIMIT 20,它强制将项目排序100到80,与我需要的相反.我目前有一些讨厌的内部查询代码,但感觉应该有一个更简单的解决方案基于反转光标或简单地反转ListView.

Kai*_*rdt 10

在适配器内使用此getItem方法以获得反向顺序:

@Override
public Object getItem(int position) {
   return super.getItem(super.getCount() - position - 1);
}
Run Code Online (Sandbox Code Playgroud)


and*_*per 9

内的baseAdapter,对于getView()的方法,而不是获取该项目的数据在索引"位置"中,使用相反的,意思是:numberOfItems减去位置.

至于显示项目的数量,它也在baseAdapter中:将返回的值设置为getCount()您希望的值(在您的示例中为20,但80-100表示​​它应为21).

顺便说一句,在listView的情况下,你似乎是首发.我可以建议观看此视频:http: //www.youtube.com/watch?v = wDBM6wVEO70

还要检查sdk经理提供的api-demos.他们有很多例子.