我有一些edittext,我正在检查用户输入的字符串。当用户单击对话框末尾的按钮时,如果某些编辑文本未填充,我会更改它的背景颜色并以这种方式设置文本:
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
但它不起作用。我该怎么做?你能帮帮我吗?