android - 如何更改edittext的背景颜色

标签 android android-edittext onfocus onlongclicklistener

我有一些编辑文本,我正在检查用户输入的其中的字符串。当用户单击对话框末尾的按钮时,如果某些编辑文本未填充,我会更改其背景颜色并以这种方式设置文本:

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 但它不起作用。我该怎么做?你能帮我吗?

最佳答案

关于android - 如何更改edittext的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9018472/

相关文章:

android - 如何在 editText 中删除这个空格?

javascript - window.onfocus() 在远程服务器上不起作用

javascript - 为什么 $ ("a:focus").length 的计算结果为 0,除非包含在 setTimeout() 中?

javascript - 如何在 &lt;input type ="text"> 字段上使用 onFocus、onChange 和 onClick 事件

android - 在 RecyclerView 的 TextWatcher.onTextChanged() 中使用时,notifyDataSetHasChanged() 会抛出错误

java - 如何在 addTextChangedListener 中使用可扩展字符串来更改 editText 子字符串的颜色?

java - LinearLayout 和 NestedScrollView 中的 RecyclerView - 如何滚动到某个位置的项目顶部?

java - new File() 构造函数可以在 Android 上返回 null 吗?

android - 在 ViewPager 的每个屏幕中使用多个 fragment

java - Android 中的 OpenCV 旋转(去偏斜)- C++ 到 Java 的转换