1

edittextに背景画像を使用しましたが、入力を開始すると変更されるようにしたいと思います。どうやってするの???

利用した:

editText_username.setOnFocusChangeListener(this);
editText_password.setOnFocusChangeListener(this);

@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(editText_username.hasFocus()){
        editText_username.setBackgroundResource(R.drawable.textarea_blue);
    }else{
        editText_username.setBackgroundResource(R.drawable.textarea_gray);
    }
    if(editText_password.hasFocus()){
        editText_password.setBackgroundResource(R.drawable.textarea_blue);
    }else{
        editText_password.setBackgroundResource(R.drawable.textarea_gray);
    }
   }

edittextの背景画像が変更されています。しかし、最初にユーザー名の編集テキストをクリックすると背景画像が変更されず、パスワードの編集テキスト画像をクリックすると画像が変更され、ユーザー名の編集テキストをクリックすると画像が変更されます...なぜですか?ユーザー名edittextを初めてクリックすると、その時点でのみ背景画像が変更され、editextの外側をクリックすると、色がデフォルトの色に戻るようにしたいと思います。

4

3 に答える 3

1
editText_username.addTextChangedListener(new TextWatcher() {

  @Override
  public void afterTextChanged(Editable s) {
         //change bg afterTextChanged
  }

  @Override
  public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         //change bg beforeTextChanged
  }

  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
         //change bg whenTextChanged
  }
});
于 2013-02-17T06:26:17.190 に答える
0

フォーカスが変更されたのは、EditTextがフォーカスされていないことを識別するためだけです。テキストウォッチャーを使用する必要があります

于 2013-02-17T06:24:29.460 に答える