如何删除线程背景 [英] How to remove background from thread
本文介绍了如何删除线程背景的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用计时器定期检查的条件,并希望删除背景若发现真实情况。但它给我一个错误。
android.view.ViewRootImpl $ CalledFromWrongThreadException:只有创建视图层次可以触摸其观点原来的线程。
我的code是:
t.schedule(新的TimerTask(){ @覆盖
公共无效的run(){ 如果(!激活){
fl.setBackgroundResource(android.R.color.transparent); //这一行造成的错误! }
}},500,500);
解决方案
使用处理器触摸意见主线这样的:
处理程序mHandler =新的处理程序();t.schedule(新的TimerTask(){mHandler.post(新的TimerTask(){ @覆盖
公共无效的run(){ 如果(!激活){
fl.setBackgroundResource(android.R.color.transparent); //这一行造成的错误! }
}
});
},500,500);
I am using Timer to check a condition periodically and want to remove background if found true condition. But it is giving me an error.
android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
My code is :
t.schedule(new TimerTask(){
@Override
public void run() {
if(!active){
fl.setBackgroundResource(android.R.color.transparent);// this line causing error !
}
}}, 500,500);
解决方案
Use handler to touch views in main thread like that:
Handler mHandler = new Handler();
t.schedule(new TimerTask(){
mHandler.post(new TimerTask(){
@Override
public void run() {
if(!active){
fl.setBackgroundResource(android.R.color.transparent);// this line causing error !
}
}
});
}, 500,500);
这篇关于如何删除线程背景的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文