我尝试使用异步Tack创建一个类,但我不能这样做。我的代码有问题。我不知道我应该把什么放在OnPostExecute和MainAvctivity.cs中的DoInBackground中。 我是Xamarin android和C#的初学者,我是学生。有人可以帮助我
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.Graphics;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Java.Lang;
using Java.Net;
namespace TestImageURL3._0
{
class ImageURL : AsyncTask<URL, int, ImageView>
{
ImageView bitmapImage=null;
public ImageURL(ImageView bitmapImage)
{
this.bitmapImage = bitmapImage;
}
protected override Java.Lang.Object DoInBackground(params Java.Lang.Object[] @params)
{
this.bitmapImage = (ImageView)bitmap[0];
string URL = (string)bitmap[1];
return URL;
}
protected override void OnPostExecute(Java.Lang.Object result)
{
var imageView = FindViewById<ImageView>(Resource.Id.imageView1);
var uri = Android.Net.Uri.Parse(uriString: "http://www.qygjxz.com/data/out/244/4304228-wallpaper-phone-hd.jpg");
imageView.SetImageBitmap(uri);
}
}
}
答案 0 :(得分:0)
您应该考虑使用异步图片加载库,例如Glide或{{3}}。这两个库都将为您处理来自URL的图像的异步加载,而开销非常小。
我知道这并没有完全回答你的问题,但它比你想要完成的解决方案更容易。祝你好运!