2013-04-21 26 views
0

所以問題是,當我從一個EditText更改焦點到另一個我敬酒選定的一個,但我而不是一個選定的EditText Toast我得到以前選擇的一個然後我得到我所選擇的one.I的結果,不知道如何使用TextWatcher 下面是代碼樣本:Toast of Selected EditText:多次敬酒showen

heure.setOnFocusChangeListener(new OnFocusChangeListener() { 



      @Override 
      public void onFocusChange(View arg0, boolean arg1) { 
       datee.removeTextChangedListener(yourTextWatcher); 
       Toast.makeText(RendezVousActivity.this,"heure", 5000).show(); 


      } 
     }); 


     datee.setOnFocusChangeListener(new OnFocusChangeListener() { 

      @Override 
      public void onFocusChange(View v, boolean hasFocus) { 
       heure.removeTextChangedListener(yourTextWatcher); 
       Toast.makeText(RendezVousActivity.this,"Date", 5000).show(); 

      } 
     }); 

回答

1

OnFocusChanged被調用兩次:一次當的EditText被帶入焦點,一旦它失去了重點。

所以,當你點擊一個EditText時,它會烤麪包。然後當你點擊另一個EditText時,第一個會失去焦點,這會再次顯示第一個敬酒,然後第二個會獲得焦點,這會顯示你的第二個敬酒。

如果你只想顯示敬酒時,它被選中,請嘗試使用:

heure.setOnFocusChangeListener(new OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View arg0, boolean arg1) { 
     datee.removeTextChangedListener(yourTextWatcher); 
     if(v.isFocused()) { 
      Toast.makeText(RendezVousActivity.this,"heure", 5000).show(); 
     } 
    } 
}); 

datee.setOnFocusChangeListener(new OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     heure.removeTextChangedListener(yourTextWatcher); 
     if(v.isFocused()) { 
      Toast.makeText(RendezVousActivity.this,"Date", 5000).show(); 
     } 
    } 
}); 
+0

由於它的工作:) – 2013-04-21 04:50:36