可扩展列表中的ImageView

时间:2016-02-22 01:47:49

标签: c# android xamarin

我正在尝试使用文本和ImageView创建一个可消耗列表。这就是我目前正在做的事情:有一个父xaml和两个孩子xaml(一个ChildText.xaml和一个ChildImage.xaml)。我希望其中一个父项包含图像。我在我的适配器中使用了以下代码:

public override View GetChildView (int groupPosition, int childPosition, bool isLastChild, View convertView, ViewGroup parent) {
    var item = _dictGroup [_lstGroupID [groupPosition]] [childPosition];
    if(item.Contains("ichart")) {
        if (convertView == null)
            convertView = _activity.LayoutInflater.Inflate (Resource.Layout.ListControl_ImageChild, null);

            var imageView = convertView.FindViewById<ImageView>(Resource.Id.image);
            var imageBitmap = GetImageBitmapFromUrl (item);
            imageView.SetImageBitmap (imageBitmap); //X

    } else {
        string[] data = item.Split ('_');

        if (convertView == null)
            convertView = _activity.LayoutInflater.Inflate (Resource.Layout.ListControl_Child, null);

        var titleBox = convertView.FindViewById<TextView> (Resource.Id.titleSmall);
        var textBox = convertView.FindViewById<TextView> (Resource.Id.txtSmall);
        titleBox.SetText (data[0], TextView.BufferType.Normal);
        textBox.SetText (data[1], TextView.BufferType.Normal);
    }
    return convertView;
}

因此,如果字符串包含ichart,则应创建一个ImageView。这是有效的,但是当我尝试单击打开另一个选项卡(包含文本)时,我在行上得到一个nullpointer异常,其中X表示imageView为null。为什么要进入那个?

谁能告诉我我做错了什么?

提前致谢

1 个答案:

答案 0 :(得分:0)

首先,我们必须制作一系列图像&amp;我们想要放在可扩展列表视图中的父名称。然后使用数组适配器类调用这些数组。 你必须在该数组适配器设置所有图像&amp;之后手动将第一个变量放在.xml文件中。 textview根据你做的数组。