Advertisement
Guest User

Untitled

a guest
Jul 21st, 2013
2,136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.ArrayList;
  2.  
  3. import android.content.Context;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.AbsListView;
  8. import android.widget.BaseExpandableListAdapter;
  9. import android.widget.ExpandableListView;
  10. import android.widget.TextView;
  11.  
  12. public class CatAdapter extends BaseExpandableListAdapter {
  13.     private Context context;
  14.     private LayoutInflater inflater;
  15.     private ArrayList<Category> categories;
  16.    
  17.     public CatAdapter(Context context, ArrayList<Category> categories) {
  18.         this.context = context;
  19.         inflater = LayoutInflater.from(context);
  20.         this.categories = categories;
  21.     }
  22.    
  23.     @Override
  24.     public Object getChild(int groupPosition, int childPosition) {
  25.         return categories.get(groupPosition).childs.get(childPosition);
  26.     }
  27.  
  28.     @Override
  29.     public long getChildId(int groupPosition, int childPosition) {
  30.         return childPosition;
  31.     }
  32.  
  33.     @Override
  34.     public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
  35.        
  36.         convertView = inflater.inflate(R.layout.catitem, parent, false);
  37.         TextView textView_catName = (TextView)convertView.findViewById(R.id.textView_catName);
  38.         Category current = categories.get(groupPosition).childs.get(childPosition);
  39.         textView_catName.setText(groupPosition + " , " + childPosition);
  40.  
  41.         if(current.childs.size() > 0 ) {
  42.             ExpandableListView elv = new ExpandableListView(context);
  43.             elv.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.WRAP_CONTENT,  AbsListView.LayoutParams.WRAP_CONTENT));
  44.             elv.setAdapter(new CatAdapter(context, current.childs));
  45.             ((ViewGroup)convertView).addView(elv);
  46.         }
  47.        
  48.         return convertView;
  49.     }
  50.  
  51.     @Override
  52.     public int getChildrenCount(int groupPosition) {
  53.         return categories.get(groupPosition).childs.size();
  54.     }
  55.  
  56.     @Override
  57.     public Object getGroup(int groupPosition) {
  58.         return categories.get(groupPosition);
  59.     }
  60.  
  61.     @Override
  62.     public int getGroupCount() {
  63.         return categories.size();
  64.     }
  65.  
  66.     @Override
  67.     public long getGroupId(int groupPosition) {
  68.         return groupPosition;
  69.     }
  70.  
  71.     @Override
  72.     public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
  73.         convertView = inflater.inflate(R.layout.catitem, parent, false);
  74.         TextView textView_catName = (TextView)convertView.findViewById(R.id.textView_catName);
  75.         Category current = categories.get(groupPosition);
  76.         textView_catName.setText("" + groupPosition);
  77.  
  78.         return convertView;
  79.     }
  80.  
  81.     @Override
  82.     public boolean hasStableIds() {
  83.         return false;
  84.     }
  85.  
  86.     @Override
  87.     public boolean isChildSelectable(int groupPosition, int childPosition) {
  88.         return false;
  89.     }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement