Android(安卓)分组列表适配器 MyExpandableAdapter
新建 MyExpandableAdapter.java
import android.content.Context;
import android.text.Html;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
/**
* 分组列表适配器
*/
public class MyExpandableAdapter extends BaseExpandableListAdapter {
Context context;
JSONArray list;
public MyExpandableAdapter(Context context, JSONArray list) {
this.context = context;
this.list = list;
}
@Override
public int getGroupCount() {
return list.size();
}
@Override
public int getChildrenCount(int groupPosition) {
JSONObject object = (JSONObject) list.getJSONObject(groupPosition);
JSONArray jsonArray = object.getJSONArray("groups");
return jsonArray.size();
}
@Override
public Object getGroup(int groupPosition) {
return list.get(groupPosition);
}
@Override
public Object getChild(int groupPosition, int childPosition) {
JSONObject object = (JSONObject) list.getJSONObject(groupPosition);
JSONArray jsonArray = object.getJSONArray("groups");
return jsonArray.get(childPosition);
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public boolean hasStableIds() {
return true;
}
//获取分组布局
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
GroupHolder holder;
if(convertView == null){
convertView = View.inflate(context, R.layout.item_group, null);
holder = new GroupHolder(convertView);
convertView.setTag(holder);
}else{
holder = (GroupHolder) convertView.getTag();
}
//设置数据
JSONObject group = (JSONObject) getGroup(groupPosition);
holder.groupName.setText(group.getString("groupname"));
return convertView;
}
class GroupHolder{
TextView groupName;
public GroupHolder(View convertView){
groupName = (TextView) convertView.findViewById(R.id.group_title);
}
}
//获取分组子布局
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
ChildHolder holder;
if(convertView == null){
convertView = View.inflate(context, R.layout.itme_layout, null);
holder = new ChildHolder(convertView);
convertView.setTag(holder);
}else{
holder = (ChildHolder) convertView.getTag();
}
//设置数据
JSONObject object = (JSONObject) getChild(groupPosition,childPosition);
holder.title.setText(object.getString("title"));
return convertView;
}
class ChildHolder{
TextView title;
public ChildHolder(View convertView){
title = (TextView) convertView.findViewById(R.id.itme_title);
}
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return false;
}
}
更多相关文章
- 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
- Android(安卓)商显会议平板聚光灯效果实现
- Android实现圆角弹框功能
- android截取屏幕图
- android 获取手机中的联系人
- Android动态获取当前手机IP地址
- Android弹出式提示框 PopupWindow
- android 日期对话框
- Android获取包相关信息--code