2013-09-26 66 views
0

我行使OnFocusListener以前的監聽器,我已經創建了兩個的EditText領域,我想顯示吐司消息時,下面的文字被點擊的領域之一:OnFocusChangeListener被重複在Android的

  • 用戶名
  • 密碼

我的實現:

mUsername = (EditText) findViewById(R.id.usernameEdit); 
    mPassword = (EditText) findViewById(R.id.passwordEdit); 
    mUsername.setOnFocusChangeListener(new OnFocusChangeListener(){ 

     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      // TODO Auto-generated method stub 
      Toast.makeText(MainActivity.this, "Username is on focus", T 

          Toast.LENGTH_SHORT).show(); 
     } 

    }); 
    mPassword.setOnFocusChangeListener(new OnFocusChangeListener(){ 

     @Override 
     public void onFocusChange(View v, boolean hasFocus) { 
      // TODO Auto-generated method stub 
      Toast.makeText(MainActivity.this, "Password is on focus", 

          Toast.LENGTH_SHORT).show(); 
     } 

    }); 

但是,當應用程序自動啓動onFocus中的用戶名時,它會顯示Toast消息用戶名爲焦點。當我點擊密碼時,它首先顯示用戶名信息,然後顯示密碼信息。當我點擊用戶名字段時,它首先顯示密碼信息,然後顯示用戶名信息。我可能在這裏實現了邏輯錯誤,但我找不到它。任何人都可以幫助我。

謝謝。

回答

2

OnFocusChangeListener偵聽更改。這意味着失去焦點也是一個變化。 嘗試添加

if (hasFocus) 

敬酒之前。

+0

很好,它的工作原理,再次傾斜了一些東西,謝謝巴斯蒂。 – dhssa

+0

很高興能幫到你! :] – Basti