我正在尝试使用文本和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。为什么要进入那个?
谁能告诉我我做错了什么?
提前致谢
答案 0 :(得分:0)
首先,我们必须制作一系列图像&amp;我们想要放在可扩展列表视图中的父名称。然后使用数组适配器类调用这些数组。 你必须在该数组适配器设置所有图像&amp;之后手动将第一个变量放在.xml文件中。 textview根据你做的数组。