创建一个类来从url xamarin android加载图像

时间:2018-05-10 11:58:16

标签: c# xamarin.android

我尝试使用异步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);
    } 
}
}

1 个答案:

答案 0 :(得分:0)

您应该考虑使用异步图片加载库,例如Glide或{{3}}。这两个库都将为您处理来自URL的图像的异步加载,而开销非常小。

我知道这并没有完全回答你的问题,但它比你想要完成的解决方案更容易。祝你好运!