Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.lab2;
- import android.content.Context;
- import android.graphics.Color;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseExpandableListAdapter;
- import android.widget.ExpandableListAdapter;
- import android.widget.TextView;
- import java.util.List;
- import java.util.Map;
- public class MyExpandableListAdapter extends BaseExpandableListAdapter {
- Context context;
- List<String> parents;
- Map<String, List<String>> children;
- public MyExpandableListAdapter(Context context, List<String> parents, Map<String, List<String>> children) {
- this.context = context;
- this.parents = parents;
- this.children = children;
- }
- @Override
- public int getGroupCount() {
- return parents.size();
- }
- @Override
- public int getChildrenCount(int groupPosition) {
- return children.get(parents.get(groupPosition)).size();
- }
- @Override
- public Object getGroup(int groupPosition) {
- return parents.get(groupPosition);
- }
- @Override
- public Object getChild(int groupPosition, int childPosition) {
- return children.get(parents.get(groupPosition)).get(childPosition);
- }
- @Override
- public long getGroupId(int groupPosition) {
- return groupPosition;
- }
- @Override
- public long getChildId(int groupPosition, int childPosition) {
- return childPosition;
- }
- @Override
- public boolean hasStableIds() {
- return false;
- }
- @Override
- public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
- String title = (String) getGroup(groupPosition);
- if(convertView == null){
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
- convertView = inflater.inflate(R.layout.parent_list, null);
- }
- TextView txtParent = (TextView) convertView.findViewById(R.id.textParent);
- txtParent.setText(title);
- return convertView;
- }
- @Override
- public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
- String child = (String) getChild(groupPosition, childPosition);
- if(convertView == null){
- LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
- convertView = inflater.inflate(R.layout.child_list, null);
- }
- TextView txtChild = (TextView) convertView.findViewById(R.id.textChild);
- txtChild.setText(child);
- return convertView;
- }
- @Override
- public boolean isChildSelectable(int groupPosition, int childPosition) {
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement