listview 穿插标签效果

来源:互联网 发布:mac下制作dos 编辑:程序博客网 时间:2024/05/22 12:55



介绍上图中效果的实现方式





这里定义了两个map集合 用于存放日期的集合存放真实索引的集合(这里因为是从数据库取数据 所以存放的游标的索引) 记作map1,map2


当使用adapter去适配数据时

在getView方法中 先拿position去map1中看是否能匹配到数据(当前条目是否要显示标签) 然后在去map2中匹配数据

这里会出现convertView重用的问题 只需添加 convertView instanceOf XXXXXX过滤条件即可


@Override
public View getView(int position, View convertView, ViewGroup parent) {
// 当position可以在日期集合中取到日期时, 返回的是TextView
if(map1.containsKey(position)) {// 当前需要显示日期

}

// 返回的是短信的item
Cursor mCursor = mAdapter.getCursor();
mCursor.moveToPosition(smsRealPositionMap.get(position));

       View v;
       if (convertView == null || convertView instanceof TextView) {
           v = newView(FolderDetailUI.this, mCursor, parent);
       } else {
           v = convertView;
       }
       bindView(v, FolderDetailUI.this, mCursor);
       return v;
   }

0 0
原创粉丝点击