貌似所有设计到UI的程序原理都是一样的,子线程是不能够更新UI状态的,所以就必须使用UI自身或者第三方来更新UI.

如 在WinForm 中 就可以使用Control.Invoke(Action action) 方法来用UI自身更新状态.当然我不是做WinForm的,更新的方法还有很多.

在Andorid的世界里,同样的,想更新UI的状态,必须借助一个第三方势力来更新.

下面是一个简单的动态添加一个ImageView,并从网络上获得图片的简单的例子.

  [Activity(Label = "My Activity")]
public class SearchActivity : Activity
{
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
this.SetContentView(Resource.Layout.Hostlayout); var layout = this.FindViewById<LinearLayout>(Resource.Id.HomeImageContent); Handler hander = new Handler(); List<string> urlSource = new List<string>(); foreach (var item in urlSource)
{
var address = item;
var taks = System.Threading.Tasks.Task.Factory.StartNew(() =>
{
Runnable run = new Runnable(() =>
{
Java.Net.URL url = new Java.Net.URL(address);
var map = Android.Graphics.BitmapFactory.DecodeStream(url.OpenStream()); ImageView image = new ImageView(this);
image.SetImageBitmap(map);
layout.AddView(image);
});
hander.Post(run);
});
}
}
}

最新文章

  1. Leetcode: Reconstruct Original Digits from English
  2. Elastic search入门
  3. 利用反射及jdbc元数据实现通用的查询方法
  4. HTML5 文件处理之FileAPI简介整理
  5. table不能遗露了tbody
  6. 在windows下获取硬盘序列号(win7 32位,Windows Server 64位测试,希望在其他平台测试,遇到问题的网友留言分享)
  7. Winform获取当前程序名称或路径
  8. c++项目范例
  9. webpack开发环境和生产环境切换原理
  10. Exe资源文件
  11. C#设计模式之十七中介者模式(Mediator Pattern)【行为型】
  12. Bmob后端云使用步骤
  13. List与Array互相转换
  14. shelve模块,sys模块,logging模块
  15. select的width和input的width
  16. [svc]linux正则实战(grep/sed/awk)
  17. 匿名内部类的参数引用只能是final,可能遇到的问题及其解决
  18. python-day7-字符串类型的内置方法
  19. eclipse自动生成uml
  20. sdut 迷之容器(线段树+离散化)

热门文章

  1. Python:关于字典的相关操作
  2. prolog 内部谓词
  3. RabbitMQ消息队列1: Detailed Introduction 详细介绍
  4. php电话号码正则表达式常用例子
  5. 移动端click事件延迟300ms的原因以及解决办法
  6. Android开源项目分类汇总
  7. poj1985 Cow Marathon (求树的直径)
  8. 删除win7远程桌面历史记录
  9. Qt界面对象的事件调用
  10. redis启用持久化