使用RecyclerView 简单实现QQ好友列表展开效果

本文介绍如何使用RecyclerView创建类似QQ好友列表的展开效果。通过两个实体类Group和GroupItem存储分组和成员信息,配合两个不同的Item布局以及GroupAdapter和GroupItemAdapter适配器实现。RecyclerView需要额外设置点击事件和分割线,代码已给出并附有下载链接。
摘要由CSDN通过智能技术生成

最近自己想捣鼓个社交类的app,所以想了解一下QQ列表的实现。对于这样的展开效果,我们很容易想到使用ExpandableListView类,当然我也是,但是我在网上看到有人用ListView套用listView的方法,本着学习的态度,我去研究了一下。思路明确,就是在ListView中的Item布局类再放一个ListView,然后通过对分组栏目的点击效果进行判别,分别展示和隐藏子ListView,实现该效果。

效果图如下:


思路就不说了,和ListView是一样的,都是两个控件的套用,代码也简单,相信都可以看得懂,直接上代码。

这里需要两个实体类:Group和GroupItem,分别用于存分组的信息以及其组员的信息。

package henry.com.friendlist.bean;

import java.util.List;

/**
 * Date: 2016/10/25. 14:46
 * Creator: henry
 * Email: heneymark@gmail.com
 * Description:分组
 */
public class Group {
    //分组名称
    private String mGroupName;
    //分组项目
    private List<GroupItem> mGroupItems;

    public Group(String GroupName, List<GroupItem> GroupItems) {
        this.mGroupName = GroupName;
        this.mGroupItems = GroupItems;
    }

    public String getGroupName() {
        return mGroupName;
    }

    public void setGroupName(String mGroupName) {
        this.mGroupName = mGroupName;
    }

    public List<GroupItem> getGroupItems() {
        return mGroupItems;
    }

    public void setGroupItems(List<GroupItem> mItems) {
        this.mGroupItems = mItems;
    }

    @Override
    public String toString() {
        String string = "GroupName=" + mGroupName + ";GroupItem=" + mGroupItems.toString();
        return string;
    }
}

package henry.com.friendlist.bean;

/**
 * Date: 2016/10/25. 14:47
 * Creator: henry
 * Email: heneymark@gmail.com
 * Description: 组员描述
 */
public class GroupItem {

    private String Title;
    private String Content;

    public GroupItem(String mTitle, String mContent) {
        this.Title = mTitle;
        this.Content = mContent;
    }


    public String getTitle() {
        return Title;
    }

    public void setTitle(String title) {
        Title = title;
    }

    public String getContent() {
        return Content;
    }

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值