SHOW:
|
|
- or go back to the newest paste.
1 | - | package com.dooble.pushit; |
1 | + | |
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 | } |