ExpandableListView中的SetTag()和GetTag()

时间:2014-05-14 22:41:55

标签: android xamarin expandablelistview

我的expandableAdapter中的GetChildView出现了问题。实际上我会有一个可扩展的列表视图,其中有多个选择,我使用的是ViewHolder,但是我遇到了一些问题.View.SetTag(holder)和holder =(ViewHolder)GetTag( )。这是我的GetChildView的代码。请问有没有人对expandablelistView有多个选择的想法或解决方案?

public override View GetChildView (int groupPosition, int childPosition, bool    isLastChild, View convertView, ViewGroup parent)
{
ViewHolder holder = null;
View row = convertView;
string name=GetChild(groupPosition, childPosition).ToString();
    if(row==null)
    {
row = Context.LayoutInflater.Inflate(Resource.Layout.List_selection_childrenItem, null);
        holder = new ViewHolder();
        holder.code = (TextView)row.FindViewById<CheckBox>(Resource.Id.checkBox1);
        holder.name = (CheckBox)row.FindViewById<TextView>(Resource.Id.item);

       row.SetTag(holder);
       holder.name.CheckedChange += checkedd_CheckedChange;
    }
    else
    {
        holder = (ViewHolder)row.GetTag();
    }

        var child = GetChild1(groupPosition, childPosition);

holder.code.SetText(name, TextView.BufferType.Normal);
holder.name.Checked = GetChild1(groupPosition, childPosition).IsChecked;
checkedd.CheckedChange+=checkedd_CheckedChange;
holder.name.SetTag(child);
    return row;
}

0 个答案:

没有答案