Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import android.content.Context;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.AbsListView;
- import android.widget.BaseExpandableListAdapter;
- import android.widget.ExpandableListView;
- import android.widget.TextView;
- public class CatAdapter extends BaseExpandableListAdapter {
- private Context context;
- private LayoutInflater inflater;
- private ArrayList<Category> categories;
- public CatAdapter(Context context, ArrayList<Category> categories) {
- this.context = context;
- inflater = LayoutInflater.from(context);
- this.categories = categories;
- }
- @Override
- public Object getChild(int groupPosition, int childPosition) {
- return categories.get(groupPosition).childs.get(childPosition);
- }
- @Override
- public long getChildId(int groupPosition, int childPosition) {
- return childPosition;
- }
- @Override
- public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
- convertView = inflater.inflate(R.layout.catitem, parent, false);
- TextView textView_catName = (TextView)convertView.findViewById(R.id.textView_catName);
- Category current = categories.get(groupPosition).childs.get(childPosition);
- textView_catName.setText(groupPosition + " , " + childPosition);
- if(current.childs.size() > 0 ) {
- ExpandableListView elv = new ExpandableListView(context);
- elv.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT, AbsListView.LayoutParams.WRAP_CONTENT));
- elv.setAdapter(new CatAdapter(context, current.childs));
- ((ViewGroup)convertView).addView(elv);
- }
- return convertView;
- }
- @Override
- public int getChildrenCount(int groupPosition) {
- return categories.get(groupPosition).childs.size();
- }
- @Override
- public Object getGroup(int groupPosition) {
- return categories.get(groupPosition);
- }
- @Override
- public int getGroupCount() {
- return categories.size();
- }
- @Override
- public long getGroupId(int groupPosition) {
- return groupPosition;
- }
- @Override
- public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
- convertView = inflater.inflate(R.layout.catitem, parent, false);
- TextView textView_catName = (TextView)convertView.findViewById(R.id.textView_catName);
- Category current = categories.get(groupPosition);
- textView_catName.setText("" + groupPosition);
- return convertView;
- }
- @Override
- public boolean hasStableIds() {
- return false;
- }
- @Override
- public boolean isChildSelectable(int groupPosition, int childPosition) {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement