Android listView分组

阅读: 评论:0

Android listView分组

Android listView分组

转自:


上图先:


之前看到过Iphone上面的一款英语学习软件,iDaily ,界面排版类似上面分listView分组,很漂亮。一直考虑Android上面如何实现该效果。折腾了一个多小时,弄出了个初始版,效果如上图。

总体思路:

1、定义两个队列,其中一个TagList放Tag即标题项,另一个列表放ItemList放Item即数据项。

2、adapter的getView中,根据当前位置,获取数据,如果存在TagList中,则加载Tag的布局文件,否则加载Item的布局文件。

3、重载adapter的isEnabled方法,sdk中的解释是:

Returns true if the item at the specified position is not a separator. (A 
separator is a non-selectable, non-clickable item).

adapter中存在一个分割线,如果该位置的数据在该方法中返回false,则表明是分割线,不能选择和点击,否则返回true,属于普通数据项,可选择和点击。

示例代码:

private List<SubscribeTag> mFloatTag;

private List<SubscribeTag> mTagList;

private SubscribeTag mMyTag = new SubscribeTag("订阅的标签", "1");

private SubscribeTag mAllTag = new SubscribeTag("全部标签", "1");

mFloatTag.add(mMyTag);

mFloatTag.add(mAllTag);

@Override

public boolean isEnabled(int position) {

ains(getItem(position)))

return false;

return super.isEnabled(position);

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

/**

* 是分组的浮动标签

*/

ains(getItem(position))){

convertView = mLayoutInflater.inflate(R.layout.flag_tag, null);

TextView textView = (TextView) convertView.findViewById(View_float_tag);

textView.setText(getItem(position).getTagName());

}

else{

convertView = newView();

fillData(position, convertView);

}

return convertView;

}

效果就如上面所示。以后有时间还可以做成类似iPhone上面的列表浮动view的效果

本文发布于:2024-02-05 01:46:28,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170721238361896.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:Android   listView
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23