20cfdff50e75ba0d848e794125fee2b439d46582
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / adapter / MyExpandableListAdapter.java
1 package com.owncloud.android.ui.adapter;
2
3 import android.app.Activity;
4 import android.util.SparseArray;
5 import android.view.LayoutInflater;
6 import android.view.View;
7 import android.view.View.OnClickListener;
8 import android.view.ViewGroup;
9 import android.widget.BaseExpandableListAdapter;
10 import android.widget.TextView;
11 import android.widget.Toast;
12
13 import com.owncloud.android.R;
14
15 public class MyExpandableListAdapter extends BaseExpandableListAdapter {
16
17 private final SparseArray<Group> groups;
18 public LayoutInflater inflater;
19 public Activity activity;
20
21 public MyExpandableListAdapter(Activity act, SparseArray<Group> groups) {
22 activity = act;
23 this.groups = groups;
24 inflater = act.getLayoutInflater();
25
26 }
27
28
29 @Override
30 public Object getChild(int groupPosition, int childPosition) {
31 return groups.get(groupPosition).children.get(childPosition);
32 }
33
34 @Override
35 public long getChildId(int groupPosition, int childPosition) {
36 return 0;
37 }
38
39 @Override
40 public View getChildView(int groupPosition, final int childPosition,
41 boolean isLastChild, View convertView, ViewGroup parent) {
42 final String children = (String) getChild(groupPosition, childPosition);
43 TextView text = null;
44 if (convertView == null) {
45 convertView = inflater.inflate(R.layout.listrow_details, null);
46 }
47
48
49 text = (TextView) convertView.findViewById(R.id.textView1);
50 text.setText(children);
51 convertView.setOnClickListener(new OnClickListener() {
52 @Override
53 public void onClick(View v) {
54 Toast.makeText(activity, children, Toast.LENGTH_SHORT).show();
55 }
56 });
57 return convertView;
58 }
59
60 @Override
61 public View getGroupView(int groupPosition, boolean isExpanded,
62 View convertView, ViewGroup parent) {
63 if (convertView == null) {
64 convertView = inflater.inflate(R.layout.listrow_group, null);
65 }
66
67 final Group group = (Group) getGroup(groupPosition);
68 if (group.children.size() == 0){
69 convertView.setOnClickListener(new OnClickListener() {
70 @Override
71 public void onClick(View v) {
72 Toast.makeText(activity, group.string, Toast.LENGTH_SHORT).show();
73 }
74 });
75 }
76 ((TextView) convertView).setText(group.string);
77
78 return convertView;
79 }
80
81 @Override
82 public int getChildrenCount(int groupPosition) {
83 return groups.get(groupPosition).children.size();
84 }
85
86 @Override
87 public Object getGroup(int groupPosition) {
88 return groups.get(groupPosition);
89 }
90
91 @Override
92 public int getGroupCount() {
93 return groups.size();
94 }
95
96 @Override
97 public void onGroupCollapsed(int groupPosition) {
98 super.onGroupCollapsed(groupPosition);
99 }
100
101 @Override
102 public void onGroupExpanded(int groupPosition) {
103 super.onGroupExpanded(groupPosition);
104 }
105
106 @Override
107 public long getGroupId(int groupPosition) {
108 return 0;
109 }
110
111 @Override
112 public boolean hasStableIds() {
113 return false;
114 }
115
116 @Override
117 public boolean isChildSelectable(int groupPosition, int childPosition) {
118 return false;
119 }
120 }