更新UI时遇到:Only the original thread that created a view hierarchy can touch its views.
来源:互联网 发布:海马模拟器有mac版 编辑:程序博客网 时间:2024/05/19 16:51
Only the original thread that created a view hierarchy can touch its views。原因是android中相关的view和控件不是线程安全的,我们必须单独做处理。我用Handler来解决。
Handler的官方描述:
A Handler allows you to send and process Message
and Runnable objects associated with a thread's MessageQueue
. Each Handler instance is associated with a single thread and that thread's message queue. When you create a new Handler, it is bound to the thread / message queue of the thread that is creating it -- from that point on, it will deliver messages and runnables to that message queue and execute them as they come out of the message queue
Handler的使用场合:
1、 to schedule messages and runnables to be executed as some point in the future;
安排messages和runnables在将来的某个时间点执行。
2、 to enqueue an action to be performed on a different thread than your own.
将action入队以备在一个不同的线程中执行。即可以实现线程间通信。比如当你创建子线程时,你可以再你的子线程中拿到父线程中创建的Handler对象,就可以通过该对象向父线程的消息队列发送消息了。由于Android要求在UI线程中更新界面,因此,可以通过该方法在其它线程中更新界面。
我的用法是,
声明一个成员变量:private Handler handler=null;
在onCreate()方法里:
handler=new Handler()
{
@Override
public void handleMessage(Message msg)
{
if(msg.arg1==1)
{
adapter=new MovieListAdapter(ListActivity.this,movieInfos);
gridView.setAdapter(adapter);
}
}
};
再设一个线程,调制当处理完毕数据库的操作时再去更新UI。
new Thread(new Runnable(){
@Override
public void run()
{
Message msg=handler.obtainMessage();
movieInfos=movieUtils.getMovieInfos(ListActivity.this);
msg.arg1=1;
handler.sendMessage(msg);
}
}).start();
- 更新UI时遇到:Only the original thread that created a view hierarchy can touch its views.
- ERROR:Only the original thread that created a view hierarchy can touch its views. Android更新UI
- android中用线程更新UI,报错only the original thread that created a view hierarchy can touch its views
- Only the original thread that created a view hierarchy can touch its views的相关
- 报Only the original thread that created a view hierarchy can touch its views错误解决
- Only the original thread that created a view hierarchy can touch its views错误
- 报Only the original thread that created a view hierarchy can touch its views错误解决
- 报Only the original thread that created a view hierarchy can touch its views错误解决
- Only the original thread that created a view hierarchy can touch its views错误相关
- Only the original thread that created a view hierarchy can touch its views的相关
- Only the original thread that created a view hierarchy can touch its views
- 关于Only the original thread that created a view hierarchy can touch its views的解决方案
- Only the original thread that created a view hierarchy can touch its views.
- 解决Only the original thread that created a view hierarchy can touch its views
- Only the original thread that created a view hierarchy can touch its views
- 关于Only the original thread that created a view hierarchy can touch its views的解决方案
- Only the original thread that created a view hierarchy can touch its views
- Only the original thread that created a view hierarchy can touch its views
- 昨日数学实验
- 静态链表的基本运算
- 字符串转换成json
- make编译出错问题
- sqlite 触发器
- 更新UI时遇到:Only the original thread that created a view hierarchy can touch its views.
- 1.1linux下mpi开发环境搭建流程及过程中出现的一些问题解决方法。
- Eclipse for android 中添加CVS
- [IDE][2013-5-13] source insight 设置 函数 括号 智能缩进 设置
- html模拟弹窗
- SQL Server 压缩日志(log)文件之二?
- Silverlight中的“拖拽操作”: 把图片拖拽到Silverlight页面里。
- 关于HQL Criteria Restrictions.eq 两表关联和三表关联查询分析总结笔记
- HDU 4602 Partition