package com.swjtu.gcmformojo; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseExpandableListAdapter; import android.widget.TextView; import java.util.List; /** * QQ好友数据显示 * Created by HeiPi on 2017/2/21. */ class QqFriendAdapter extends BaseExpandableListAdapter { private Context context; private List<QqFriendGroup> group; public QqFriendAdapter(Context context, List<QqFriendGroup> group) { super(); this.context = context; this.group = group; } public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate(R.layout.qq_friend_group_items, null); } TextView title = (TextView) convertView.findViewById(R.id.qq_friend_group_name); title.setText(getGroup(groupPosition).toString());// 设置大组成员名称 /* ImageView image = (ImageView) convertView.findViewById(R.id.tubiao);// 是否展开大组的箭头图标 if (isExpanded)// 大组展开时的箭头图标 image.setBackgroundResource(R.drawable.group_unfold_arrow); else // 大组合并时的箭头图标 image.setBackgroundResource(R.drawable.group_fold_arrow); */ return convertView; } // 得到大组成员的id public long getGroupId(int groupPosition) { return groupPosition; } // 得到大组成员名称 public Object getGroup(int groupPosition) { return group.get(groupPosition).getGroupName(); } // 得到大组成员总数 public int getGroupCount() { return group.size(); } // 得到小组成员的view public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { if (convertView == null) { LayoutInflater inflater = LayoutInflater.from(context); convertView = inflater.inflate(R.layout.qq_friend_child_items, null); } final TextView qqFriendNameView = (TextView) convertView .findViewById(R.id.qq_friend_child_name);// 显示好友名 /* final TextView title2 = (TextView) convertView .findViewById(R.id.id_item);// 显示用户id ImageView icon = (ImageView) convertView .findViewById(R.id.imageView_item);// 显示用户头像,其实还可以判断是否在线,选择黑白和彩色头像,我这里未处理,没资源,呵呵 final String name = group.get(groupPosition).getChild(childPosition) .getName(); final String id = group.get(groupPosition).getChild(childPosition) .getId() + ""; final int img = group.get(groupPosition).getChild(childPosition) .getImg(); */ final String name = group.get(groupPosition).getChild(childPosition) .get_name(); final String markname = group.get(groupPosition).getChild(childPosition) .get_markname(); if(markname.equals("null")) qqFriendNameView.setText("\t\t"+name); else qqFriendNameView.setText("\t\t"+markname); return convertView; } // 得到小组成员id public long getChildId(int groupPosition, int childPosition) { return childPosition; } // 得到小组成员的名称 public Object getChild(int groupPosition, int childPosition) { return group.get(groupPosition).getChild(childPosition); } // 得到小组成员的数量 public int getChildrenCount(int groupPosition) { return group.get(groupPosition).getChildSize(); } /** * Indicates whether the child and group IDs are stable across changes to * the underlying data. 表明大組和小组id是否稳定的更改底层数据。 * * @return whether or not the same ID always refers to the same object * @see */ public boolean hasStableIds() { return true; } // 得到小组成员是否被选择 public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } /** * 这个方法是我自定义的,用于下拉刷新好友的方法 * * @param group * 传递进来的新数据 */ public void updata(List<QqFriendGroup> group) { this.group = null; this.group = group; } }