我在将一些 base64 字符串转换为图像时遇到问题,这些字符串是我从 web 服务礼貌地提供的数据集中获得的,然后将其显示在 gridview 上。
我从网络服务传入的数据
<NewDataSet xmlns="">
<AvailableUsers diffgr:id="AvailableUsers1" msdata:rowOrder="0">
<sUserId>1</sUserId>
<UserDesc>Mr. Someone</UserDesc>
</AvailableUsers>
<AvailableUsers diffgr:id="AvailableUsers2" msdata:rowOrder="1" diffgr:hasChanges="modified">
<sUserId>2</sUserId>
<UserDesc>Mr. Someone 2</UserDesc>
<UserIMG>
// A base64 string is here but let's not bother ourselves with that here...
</UserIMG>
</AvailableUsers>
</NewDataSet>
我的图像适配器
class ImageAdapter : BaseAdapter
{
Context context;
public ImageAdapter(Context c)
{
context = c;
}
public override int Count
{
get { return thumbIds.Length; }
}
public override Java.Lang.Object GetItem(int position)
{
return null;
}
public override long GetItemId(int position)
{
return 0;
}
// create a new ImageView for each item referenced by the Adapter
public override View GetView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null)
{ // if it's not recycled, initialize some attributes
imageView = new ImageView(context);
imageView.LayoutParameters = new GridView.LayoutParams(150, 150);
imageView.SetScaleType(ImageView.ScaleType.CenterCrop);
imageView.SetBackgroundColor(Color.Aqua);
}
else
{
imageView = (ImageView)convertView;
}
imageView.SetImageResource(thumbIds[position]);
return imageView;
}
int[] thumbIds = {
Resource.Drawable.sample_0, Resource.Drawable.sample_1, Resource.Drawable.sample_2, Resource.Drawable.sample_3
};
}
这是我目前的知识和理解停止的地方(我是该领域的新手 - 之前做过一些网络工作和轻量级的 JavaScript,但与此相比没有)。我会礼貌地请别人给我写一个例子,或者至少给我指出一个真正涉足这个特定问题的教程。
感谢您的时间。