android 异步显示View获取是每个初学者都会碰到异步显示View的问题(如异步显示网络图片,异步显示Listview只能够数据啦,等等),在这里我简要介绍一下,以下我已经贴上代码了!
android异步更新界面主要有一下几步:
步骤一:
在Acitivity中创建一个线程传入要更新的的界面参数和一个callback
Thread1 thread1 = new Thread1(al,adapter,this);
thread1.start();
在这个线程中不能直接处理al,adapter,因为android不允许在两个线程中处理UI
步骤二:
在Thread1中进行长时间的数据处理(如网络连接等)
//需要长时间操作的,如网络读取数据图片等
Thread.sleep(5000);
Map<String,String> map = new HashMap<String,String>();
map.put("title", "thread");
al.add(map);
步骤三:
在Thread1中创建一个Thread2,使用Thread2将处理后的数据返回到界面中,但是要特别注意的是,前面提到android只接受在activity线程中处理UI,所以需要使用callback函数将Thread2设为activity的线程
callback方法中就一条语句:
this.runOnUiThread(runnable);
android 异步显示View主要流程就是这样了,由于比较仓促,在blog介绍的不是很详细了,具体的可以详见代码!
最后强调一下,本文为胡乐费的原创,如果要转载的话,希望注明出处!