您的位置:首页 > 产品设计 > UI/UE

Android 线程监控以及线程刷新主UI的方法

2014-04-09 20:32 549 查看


1、在Activity主UI中开新线程:

new Thread(new Runnable()
{
@Override
public void run()
{
while(true)
{
//获取需要监控的值

//若值有变化,则执行相应处理程序(如刷新主UI线程)

}

try{
Thread.sleep(2000); //线程运行的频率,单位是毫秒(0.001秒)
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}).start();


2、监控到值的变化之后,如果直接在线程中更改主UI线程,会出错。

提示是:“Android中不能在子线程中刷新UI线程”

解决方法:用 Activity.runOnUiThread,它是Handle的特殊情况,便于处理这类问题

代码如下:

Activity.this.runOnUiThread(new Runnable()
{
@Override
public void run()
{
// 更新UI的操作代码

}
});


注:

1、其中Activity是指主UI所在的Activity的名称,也就是指明要操作哪一个UI。

2、将这段代码直接加到Thread的处理程序中就行了。

参考资料:http://blog.163.com/menxu_work/blog/static/20777441920125311250187/

Over


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 线程 ui thread