package com.ihunda.android.binauralbeat;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.TextView;
public class ProgramListAdapter extends BaseExpandableListAdapter {
private Context context;
private ArrayList<CategoryGroup> groups;
private LayoutInflater inflater;
public ProgramListAdapter(Context context, ArrayList<CategoryGroup> groupes) {
this.context = context;
this.groups = groupes;
inflater = LayoutInflater.from(context);
}
@Override
public boolean areAllItemsEnabled() {
return true;
}
public Object getChild(int gPosition, int cPosition) {
return groups.get(gPosition).getObjets().get(cPosition);
}
public long getChildId(int gPosition, int cPosition) {
return cPosition;
}
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
final ProgramMeta objet = (ProgramMeta) getChild(groupPosition, childPosition);
ChildViewHolder childViewHolder;
if (convertView == null) {
childViewHolder = new ChildViewHolder();
convertView = inflater.inflate(R.layout.presetlist_group_child, null);
childViewHolder.textViewChild = (TextView) convertView.findViewById(R.id.TVChild);
convertView.setTag(childViewHolder);
} else {
childViewHolder = (ChildViewHolder) convertView.getTag();
}
childViewHolder.textViewChild.setText(objet.getName());
return convertView;
}
public int getChildrenCount(int gPosition) {
return groups.get(gPosition).getObjets().size();
}
public Object getGroup(int gPosition) {
return groups.get(gPosition);
}
public int getGroupCount() {
return groups.size();
}
public long getGroupId(int gPosition) {
return gPosition;
}
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
GroupViewHolder gholder;
CategoryGroup group = (CategoryGroup) getGroup(groupPosition);
if (convertView == null) {
gholder = new GroupViewHolder();
convertView = inflater.inflate(R.layout.presetlist_group_row, null);
gholder.textViewGroup = (TextView) convertView.findViewById(R.id.TVGroup);
convertView.setTag(gholder);
} else {
gholder = (GroupViewHolder) convertView.getTag();
}
gholder.textViewGroup.setText(group.getNiceName());
gholder.textViewGroup.getBackground().setAlpha(120);
/* ExpandableListView eLV = (ExpandableListView) parent;
if (eLV.isGroupExpanded(groupPosition) == false) {
eLV.expandGroup(groupPosition);
}
*/
return convertView;
}
public boolean hasStableIds() {
return true;
}
public boolean isChildSelectable(int arg0, int arg1) {
return true;
}
class GroupViewHolder {
public TextView textViewGroup;
}
class ChildViewHolder {
public TextView textViewChild;
}
}