2013-11-20 4 views
0

У меня есть форма для регистрации member в моем приложении для Android, я применил эффект animation для полей, которые необходимы (некоторые EditText просмотров в этом случае), если эти поля не заполнены, эффект должен затем происходит следующим образом:вопрос с OnFocusChangeListener() в android

mEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 

     @Override 
     public void onFocusChange(View arg0, boolean arg1) { 
      // TODO Auto-generated method stub 
      if (mEditText.getText.equals("")) { 
       mEditText.setAnimation(MyAnimation.animate());} 

и MyAnimation.animate(), как:

public class MyAnimation { 
public static Animation animate(){ 
    TranslateAnimation mAnimate = new TranslateAnimation(0, 5, 0, 0); 
    mAnimate.setInterpolator(new CycleInterpolator(50)); 
    mAnimate.setDuration(600); 
    return mAnimate; 
} 

}

, но проблема возникает, когда mEditText получает фокус, и моя потребность в этом должна произойти при отпускании фокуса, если mEditText пуст.

+0

@ Arsad Ali Soomro Проверьте мой ответ. – GrIsHu

+0

@GrIsHu Спасибо, что я пытался, чтобы –

ответ

4

Внесите setOnFocusChangeListener и проверьте наличие логического параметра для hasFocus. Когда это неверно, вы потеряли фокус на другом элементе управления.

EditText txtEdit= (EditText) findViewById(R.id.edittxt); 

txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {   

     public void onFocusChange(View v, boolean hasFocus) { 
      if(!hasFocus) 
      { 
       //do job here owhen Edittext lose focus 
        if (mEditText.getText().equals("")) { 
      mEditText.setAnimation(MyAnimation.animate());} 
      } 
     } 
    }); 
+0

вы использовали 'mEditText.getText(). Equals (" ")' вместо 'mEditText.getText.equals (" ")' и спасибо за помощь! –

+0

Добро пожаловать .. :) – GrIsHu

Смежные вопросы