我有一个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总是白色的,因为绿色的变化永远不会发生。 那个代码有替代品吗?非常感谢你提前。
答案 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);
}
});