我正在尝试在MonoDroid Dialog项目中实现一个新的“BadgeElement”类,该项目进展顺利。
我还试图在这个新的BadgeElement中为“ImageLoader”类实现延迟加载代码。
在我的BadgeElement中,我使用“ImageLoaderCallback”实现了一个IImageUpdated类。当我的ImageView加载时,我的回调似乎是立即调用,但是当我在回调中再次执行RequestImage时,找不到Drawable,它返回null。
我的新“BadgeElement.cs”在这里http://pastebin.com/JYA10pvM
除了获取新缓存的URI的更新图像之外,这实际上是有效的。在强制它们重新加载/更新后滚动列表时,图像显示。此外,如果我关闭我的应用程序并重新启动,图像将从缓存加载。我唯一不能做的就是在首次加载时更新图像。在第136行中,此方法获取“RequestImage”的空值。有什么想法吗?
回调类本身就在这里:
private class ImageLoaderCallback : IImageUpdated
{
int i = 0;
public ImageLoaderCallback (Context context, ImageView iv, Uri imageUri)
{
int i = 0;
Drawable newDrawable;
newDrawable = badgeIL.RequestImage ((Uri)imageUri, null);
if (newDrawable != null) {
iv.SetImageDrawable (newDrawable);
}
}
public void UpdatedImage (System.Uri uri)
{
int i = 0;
}
}