1

我正在尝试根据 EditText 中文本的长度来编辑 Button 的背景。如果文本的长度为 0,则背景应该是半透明的,否则它应该是不透明的。但是,我无法动态更新 Button 的背景。如果我点击屏幕上的其他位置,则按钮的背景会更新,但不是实时更新。

这是我正在使用的代码。

emailEditText.addTextChangedListener(new TextWatcher(){

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // TODO Auto-generated method stub
        }

        public void onTextChanged(CharSequence s, int start, int before,
                int count) {

            if(s.length()!=0){
                submitEmail.getBackground().setAlpha(255);
            }
            else{
                submitEmail.getBackground().setAlpha(45);
            }


        }

    });

任何帮助将不胜感激。

4

1 回答 1

1

请在设置值后执行此调用

    public void onTextChanged(CharSequence s, int start, int before,
            int count) {

        if(s.length()!=0){
            submitEmail.getBackground().setAlpha(255);
        }
        else{
            submitEmail.getBackground().setAlpha(45);
        }

        submitEmail.invalidate();

    }
于 2013-03-15T07:02:59.040 回答