我有一些编辑文本,我正在检查用户输入的其中的字符串。当用户单击对话框末尾的按钮时,如果某些编辑文本未填充,我会更改其背景颜色并以这种方式设置文本:
for(int i=0;i<fields.length;i++){
if(fields[i].getText().toString().trim().length()<=0){
redFields(fields[i]);
}
}
private void redFields(EditText t){
t.setBackgroundColor(Color.RED);
t.setText("FIELD REQUESTED!");
}
现在,当用户再次单击红色编辑文本时,我想将背景颜色更改为白色并删除其中的文本(FIELD REQUESTED
)。
我正在尝试这样做:
private void addFieldsListener(){
for(EditText f : fields){
final EditText ff = f;
ff.setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus && ff.getBackground().equals(Color.RED)){
ff.setBackgroundColor(Color.WHITE);
}
}
});
}
}
但什么也没有:(
我尝试使用 onClickListener
但它不起作用。我该怎么做?你能帮我吗?
最佳答案
为什么不在 EditText
组件上使用 SetError(...)
方法?
http://developer.android.com/reference/android/widget/TextView.html#setError%28java.lang.CharSequence%29
关于android - 如何更改edittext的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018472/