2013-02-17 34 views
0

我已經使用edittext的背景圖片,我希望當我開始輸入時它應該改變。怎麼做???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背景圖像不會改變,當我點擊密碼edittext圖像正在改變,當我點擊用戶名edittext現在圖像正在改變......爲什麼這樣呢?我希望當我點擊用戶名edittext的第一次背景圖像僅在當時被更改,並且當單擊外部editext時顏色shoukd返回到默認顏色。

回答

0
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 
    } 
}); 
0

焦點改變只是爲了確定EditText的重點不是。您應該使用Text Watcher

0

只需選擇添加爲背景,並把你的特殊背景與地位的重點真正

<selector xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:drawable="@drawable/edit_text_bg_pressed" android:state_focused="true" /> 
    <item android:drawable="@drawable/edit_text_bg_normal" /> 

</selector>