如何删除线程背景 [英] How to remove background from thread

查看:125
本文介绍了如何删除线程背景的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用计时器定期检查的条件,并希望删除背景若发现真实情况。但它给我一个错误。

  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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆