1

EditText のテキストの長さに応じて、ボタンの背景を編集しようとしています。テキストの長さが 0 の場合、背景は半透明にする必要があります。それ以外の場合は不透明にする必要があります。ただし、ボタンの背景を動的に更新することはできません。画面の別の場所をタップすると、ボタンの背景が更新されますが、リアルタイムではありません。

これが私が使用しているコードです。

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 に答える