android - 如何在 Listview 中添加另外一种样式的条目?
高洛峰
高洛峰 2017-04-17 11:52:53
[Android讨论组]

灰色部分是正常的内容,我想加一个红色的部分,例如显示为:以下是2014.8.15的帖子。
各位有什么好的建议吗?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
PHPz

应该是重写BaseAdapter的两个方法,这样就可以实现多个不同类型的Item,参考下http://www.eoeandroid.com/thread-329890-1-1.html

伊谢尔伦

我的处理方式是,所有的item都写成下面这个样子

上面红色的部分默认为View.GONE,通过对比不同item数据的差别来决定是否显示,示例:

    if (position == 0) {
        viewholder.titleView.setText(title);
        viewholder.titleView.setVisibility(View.VISIBLE);
    } else {
        // 判断需要显示title还是内容
        String lastType = mDataSource.get(position - 1).getCatalogue();
        if (sid.getCatalogue().equals(lastType)) {
            // 隐藏标题
            viewholder.titleView.setVisibility(View.GONE);
        } else {
            // 显示标题
            viewholder.titleView.setText(title);
            viewholder.titleView.setVisibility(View.VISIBLE);
        }
    }

也可以参考下面这两个项目:

https://github.com/beworker/pinned-section-listview
https://github.com/emilsjolander/StickyListHeaders

迷茫

我在项目上的处理和 @食用淡水鱼 一样~ 不知道有没有更好的办法可以学习下...

如果要再稍微提高效率的话,可以将这个Item写成一个自定义View,然后在里面做addView操作(因为看楼主这个特殊的View显示的几率相对比较小,所以不需要太多的Item都有这个View,影响效率).

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号