可展开列表中的图像视图
本文关键字:图像 视图 列表 可展开 | 更新日期: 2023-09-27 18:35:40
我正在尝试创建一个包含文本和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。这有效,但是当我尝试单击打开另一个选项卡(包含文本)时,我在带有 X 表示 imageView 为空的行上出现空指针异常。为什么它进入那个如果?
谁能告诉我我做错了什么?
提前致谢
首先,我们必须制作一个图像和父名称数组,我们想要放在可扩展的列表视图中。然后使用数组适配器类调用这些数组。您必须手动将第一个变量放入.xml文件中,然后数组适配器根据您制作的数组设置所有图像和文本视图。