public SampleAccountExpandable(Activity context, List<ExpandedMenuModel> listDataHeader, Dictionary<ExpandedMenuModel, List<SampleData>> listChildData, ExpandableListView mView)
{
_context = context;
_listDataHeader = listDataHeader;
_listDataChild = listChildData;
expandList = mView;
}
public override int GroupCount
{
get
{
return _listDataHeader.Count;
}
}
public override bool HasStableIds
{
get
{
return true;
}
}
public override Java.Lang.Object GetChild(int groupPosition, int childPosition)
{
throw new NotImplementedException();
}
protected List<SampleData> GetSampleData(int groupPosition, int childPosition)
{
var sampleData = _listDataChild[_listDataHeader[groupPosition]];
return sampleData;
}
public override long GetChildId(int groupPosition, int childPosition)
{
return childPosition;
}
public override int GetChildrenCount(int groupPosition)
{
return _listDataChild[_listDataHeader[groupPosition]].Count();
}
public override View GetChildView(int groupPosition, int childPosition, bool isLastChild, View convertView, ViewGroup parent)
{
childValue = GetSampleData(groupPosition, childPosition);
View view = convertView;
if (view == null)
{
//convertView = _context.LayoutInflater.Inflate(Resource.Layout.list_expanda_child, parent, false);
view = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.list_expanda_child, parent, false);
}
recyclerView = (RecyclerView)view.FindViewById(Resource.Id.recyclerViewAccount);
accountLayoutManager = new LinearLayoutManager(_context);
recyclerView.SetLayoutManager(accountLayoutManager);
accountRecycler = new SampleAccountRecycler(childValue);
accountRecycler.ItemClick += OnItemClick;
recyclerView.SetAdapter(accountRecycler);
return view;
}
public override Java.Lang.Object GetGroup(int groupPosition)
{
return new JavaObjectWrapper<ExpandedMenuModel>() { Obj = _listDataHeader[groupPosition] };
}
public override long GetGroupId(int groupPosition)
{
return groupPosition;
}
public override View GetGroupView(int groupPosition, bool isExpanded, View convertView, ViewGroup parent)
{
ExpandedMenuModel headerTitle = _listDataHeader[groupPosition];
if (convertView == null)
{
convertView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.list_expanda_header, parent, false);
}
//convertView = convertView ?? _context.LayoutInflater.Inflate(Resource.Layout.list_expanda_header, parent, false);
TextView lblTitle = (TextView)convertView.FindViewById(Resource.Id.listHeader);
lblTitle.Text = headerTitle.Title;
return convertView;
}
public override bool IsChildSelectable(int groupPosition, int childPosition)
{
return true;
}
public class JavaObjectWrapper<T> : Java.Lang.Object
{
public T Obj { get; set; }
}