//@Override
            public override View GetChildView(int groupPosition, int childPosition,
                    bool isLastChild, View convertView, ViewGroup parent)
            {
                ChildHolder childHolder = null;
                if (convertView == null)
                {
                    childHolder = new ChildHolder();
                    convertView = inflater.Inflate(R.Layout.child, null);

                    childHolder.textName = (TextView)convertView
                            .FindViewById(R.Id.name);
                    childHolder.textAge = (TextView)convertView
                            .FindViewById(R.Id.age);
                    childHolder.textAddress = (TextView)convertView
                            .FindViewById(R.Id.address);
                    childHolder.imageView = (ImageView)convertView
                            .FindViewById(R.Id.image);
                    Button button = (Button)convertView
                            .FindViewById(R.Id.button1);
                    //throw new Exception("");
                    //button.setOnClickListener(new OnClickListener() {
                    //    //@Override
                    //    public void onClick(View v) {
                    //        Toast.makeText(MainActivity.this, "clicked pos=", Toast.LENGTH_SHORT).show();
                    //    }
                    //});
                    button.Click += delegate { 
                        Toast.MakeText(this.context, "clicked pos="+childPosition.ToString(), ToastLength.Short).Show();
                    };

                    convertView.Tag=childHolder;
                }
                else
                {
                    childHolder = (ChildHolder)convertView.Tag;
                }

                childHolder.textName.Text=((People)GetChild(groupPosition,
                        childPosition)).getName();
                childHolder.textAge.Text=((People)GetChild(
                        groupPosition, childPosition)).getAge().ToString();
                childHolder.textAddress.Text=((People)GetChild(groupPosition,
                        childPosition)).getAddress();

                return convertView;
            }
 public virtual void AddChild(ChildHolder childHolder)
 {
     TheChild.Add(childHolder.TheChild); // store children in original child object
     childHolder.Parent = this;          // and pass my parent information to childs holder
 }