package com.chrome.codereview.utils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
/**
* Created by sergeyv on 28/5/14.
*/
public class HeadedExpandableListAdapter extends MergeExpandableListAdapter {
private static class HeaderAdapter extends LinearExpandableAdapter {
private final int headerLayout;
private final int headerResText;
private HeaderAdapter(int headerLayout, int headerResText) {
this.headerLayout = headerLayout;
this.headerResText = headerResText;
}
@Override
public int getGroupCount() {
return 1;
}
@Override
public Object getGroup(int groupPosition) {
return null;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(headerLayout, parent, false);
ViewUtils.setText(convertView, android.R.id.text1, headerResText);
}
return convertView;
}
}
public HeadedExpandableListAdapter(BaseExpandableListAdapter mainAdapter, int headerLayout, int headerResText) {
super(new HeaderAdapter(headerLayout, headerResText), mainAdapter);
}
@Override
public int getGroupCount() {
int count = super.getGroupCount();
//Just a header
if (count == 1) {
return 0;
}
return count;
}
}