您好,我正在为我的 listView 添加部分标题,网络上的方法很少。由于我使用 simpleCursorAdapter 来管理我的 listView,所以我采用了 phil bogle 的方法。 http://thebogles.com/blog/2010/02/section-headers-for-android-listviews/
错误发生在这部分代码: listAdapter.setViewBinder( new SimpleCursorAdapter.ViewBinder()
{
public boolean setViewValue(View view, Cursor cursor, int
columnIndex)
{
if (columnIndex == nDateIndex) {
if (isHeaderVisible(cursor)) {
view.setVisibility(View.VISIBLE);
prevDate = dateString;
((TextView) view).setText(dateString);
} else {
((TextView) view).setText("");
view.setVisibility(View.GONE);
}
return true;
}
return false;
}
});
这是 LogCat 显示当我向上滚动列表时它们如何比较:
09-06 11:06:43.460: INFO/System.out(563): Sun, 05 Sep 2010 11:41:53 (dateString)
09-06 11:06:43.460: INFO/System.out(563): Wed, 01 Sep 2010 21:58:06 (preDate)
09-06 11:06:43.460: INFO/System.out(563): 120.0 (record)
09-06 11:06:43.820: INFO/System.out(563): Sun, 05 Sep 2010 17:47:26 (dateString)
09-06 11:06:43.820: INFO/System.out(563): Sun, 05 Sep 2010 11:41:53 (preDate)
09-06 11:06:43.820: INFO/System.out(563): 112.0 (record)
正确的输出应该是:
2010 年 9 月 5 日星期日
112
120
但是当我向上滚动时,setViewValue首先调用120并与preDate(如上所示)进行比较,它变成:
2010 年 9 月 5 日星期日
112
2010 年 9 月 5 日,星期日
120
那么如何在创建标题后固定节标题呢?为什么滚动时会调用setViewBinder?对此有何建议?谢谢!
最佳答案
您还可以在这里看一下非常简单的项目:http://code.google.com/p/android-section-list/ 。灵感来自 iOS 的分区列表(iOS 中开箱即用)。
关于android - ListView 带有节标题问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3648840/