Android更改edittext背景

时间:2014-05-21 12:46:39

标签: android multithreading background android-edittext

我有一个EditText(et)和一个按钮(bt)。当我按bt时,et应将背景颜色更改为绿色,并在1秒后返回白色。 我的代码是这样的:

    bt.setOnClickListener(new Button.OnClickListener(){
        @Override
        public void onClick(View view){
            answer.setBackgroundColor(Color.parseColor("#00FF00"));
            try{
                Thread.sleep(1000);
            }catch(InterruptedException e){}
            answer.setBackgroundColor(Color.parseColor("#FFFFFF"));
        }
    });

我注意到的问题是et的颜色只在代码完全执行时才会改变,而不是在调用方法时改变!换句话说,et总是白色的,因为绿色的变化永远不会发生。 那个代码有替代品吗?非常感谢你提前。

1 个答案:

答案 0 :(得分:2)

试试这个,

 bt.setOnClickListener(new Button.OnClickListener(){
                                    @Override
                                    public void onClick(View view){
                                        answer.setBackgroundColor(Color.parseColor("#00FF00"));
                                        new Handler().postDelayed(new Runnable() {

                                            @Override
                                            public void run() {
                                                // TODO Auto-generated method stub
                                                    answer.setBackgroundColor(Color.parseColor("#FFFFFF"));
                                            }
                                        }, 1000);
                                    }
                                });