2

在我的项目中,我必须验证编辑文本的背景是否等于另一个(编辑文本具有自定义可绘制对象)。我已经尝试过这段代码,但它不起作用:

 if (editText.getBackground().equals(getResources().getDrawable(R.drawable.edit_text_box_red)))
 {
       editText.setBackgroundResource(R.drawable.edit_text_box_white);
 }

我需要这个,因为当我按下一个按钮并且我的 editText 背景为红色时,我必须将其设置为白色,恢复到以前的状态。我怎样才能做到这一点?

4

2 回答 2

2

我认为当您首先更改背景时存储背景信息是有意义的。一种方法是setTag(). 例如,当您将视图的背景更改为红色时,您也会执行editText.setTag("red"). 然后,你可以做

if (editText.getTag().equals("red")) {
    editText.setBackgroundResource(R.drawable.edit_text_box_white);
    editText.setTag("white");
}
于 2012-10-05T07:16:19.433 回答
1

“举报”怎么说?就像您创建一个static bool red = false 然后当您更改颜色时,将red值更改为true In selection :

if(red == true){
editText.setBackgroundResource(R.drawable.edit_text_box_white);
red = false;}

希望这有帮助:D

于 2012-10-05T07:24:54.890 回答