0
我现在通过使用xamarin.android在一个项目上。我在列表视图的屏幕和Imageview中有一个列表视图,我使用SimpleAdapter来显示集合中的数据。下面 是提取的数据采集功能:如何将图像设置为Xamarin中ListView内的ImageView?
private JavaList<IDictionary<string, Object>> TriggerNetResAndFill()
{
string uri = "http://www.51yam.com/forum.php?mod=recommend";
string content = string.Empty;
var items = new JavaList<IDictionary<string, Object>>();
var stream = streamPicker.GetUriStream(uri);
content = streamPicker.GetStreamText(stream);
HtmlDocument document = new HtmlDocument();
document.LoadHtml(content);
HtmlNodeCollection keyNodes = document.DocumentNode.SelectNodes("//a[@class='xst']");
foreach (HtmlNode keyNode in keyNodes)
{
var map = new JavaDictionary<string, Object>();
map.Add(KEY_ICON, userInfoPicker.GetU());
items.Add(map);
}
return items;
}
的userInfoPicker.GetU()函数是试图从给定的URL获得JPEG资源,并返回流回调函数:在
public Bitmap GetU()
{
var stream = streamPicker.GetUriStream(iconU);
Bitmap usericon = BitmapFactory.DecodeStream(stream);
return usericon;
}
然后主要活动,我做下面的东西:
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
listview = (ListView)FindViewById<ListView> (Resource.Id.listContent);
processDialog = ProgressDialog.Show(this, "loading", "pls wait...", true);
new Thread(new ThreadStart(() =>
{
RunOnUiThread(new Action(() =>
{
listResult = TriggerNetResAndFill();
var adapter = new SimpleAdapter(this, listResult, Resource.Drawable.list_content,
new String[] { KEY_ICON, KEY_TITLE, KEY_DESC },
new int[] { Resource.Id.lvw_custom_img, Resource.Id.lvw_custom_name, Resource.Id.lvw_custom_description });
listview.Adapter = adapter;
processDialog.Dismiss();
}));
})).Start();
}
但结果是,我没有得到预期的图像。有没有人会给我这方面的建议?我是新来的xamarin和android,我只是一个C#呃。期待你的建议。谢谢。