Я пытаюсь создать Expandable ListView, но я не знаю, как получить информацию о некоторых методах из ExpandableListAdapter, поэтому вот мой код:
Это основное занятие:
[Activity (Label = "AR Transactions Details")]
public class ARInquiry : ExpandableListActivity
{
private ARExpandableListAdapter adapter;
private string[] groups = {"1","2","3","4"};
private string[,] children = {
{ "Arnold", "Barry", "Chuck", "David" },
{"Ace", "Bandit", "Cha-Cha", "Deuce"},
{ "Fluffy", "Snuggles", "", ""},
{ "Goldy", "Bubbles", "", "" }
};
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView(Resource.Layout.ar_inquiry);
//Restrieve the ExpandableListView from the layout
ExpandableListView listview = FindViewById<ExpandableListView>(Android.Resource.Id.List);
//Initialize the adapter with blank groups and children
//We will be adding children on a thread, and then update the ListView
adapter = new ARExpandableListAdapter(this, groups, children);
listview.SetAdapter(adapter);
}
}
Это код класса ExpandableListViewAdapter:
public class ARExpandableListAdapter : BaseExpandableListAdapter
{
private Context context;
private string[] groups;
private string[,] children;
public ARExpandableListAdapter(Context context, string[] groups, string[,] children)
{
this.context = context;
this.groups = groups;
this.children = children;
}
public override Java.Lang.Object GetChild (int groupPosition, int childPosition)
{
return children[groupPosition, childPosition];
}
public override long GetChildId (int groupPosition, int childPosition)
{
return childPosition;
}
public override View GetChildView (int groupPosition, int childPosition, bool isLastChild, View convertView, ViewGroup parent)
{
if(convertView == null)
{
LayoutInflater infaInflater = (LayoutInflater) context.GetSystemService(Context.LayoutInflaterService);
convertView = infaInflater.Inflate(Resource.Layout.child_layout, null);
}
TextView tv = (TextView) convertView.FindViewById(Resource.Id.tvChild);
if(isLastChild == true)
{
return convertView;
}
tv.SetText(" " + children[groupPosition, childPosition], TextView.BufferType.Normal);
return convertView;
}
public override int GetChildrenCount (int groupPosition)
{
return children[groupPosition, 3];
}
public override Java.Lang.Object GetGroup (int groupPosition)
{
return groups[groupPosition];
}
public override long GetGroupId (int groupPosition)
{
return groupPosition;
}
public override View GetGroupView (int groupPosition, bool isExpanded, View convertView, ViewGroup parent)
{
string _group = (string)GetGroup(groupPosition);
if(convertView==null)
{
LayoutInflater infalInflater = (LayoutInflater) context.GetSystemService(Context.LayoutInflaterService);
convertView = infalInflater.Inflate(Resource.Layout.group_layout, null);
}
TextView tv = (TextView)convertView.FindViewById(Resource.Id.tvGroup);
tv.SetText(_group, TextView.BufferType.Normal);
return convertView;
}
public override bool IsChildSelectable (int groupPosition, int childPosition)
{
return true;
}
public override int GroupCount {
get {
return groups.Count();
}
}
public override bool HasStableIds {
get {
return true;
}
}
}
Как узнать длину метода GetChildrenCount?