2013-03-27 119 views
0

我有一個編輯文本,當我在此處輸入內容並輕敲外部時,如果輸入的值不爲空,則焦點和軟鍵盤應隱藏並更改按鈕的可見性。如果我再次輸入並更改編輯文本0的值並點擊,則該按鈕應該再次變爲不可見。 PFA我在做什麼:丟失焦點退出編輯文本並保存狀態

public void onFocusChange(View v, boolean hasFocus) { 
    String s = enter_num.getText().toString(); 
    if(!(s.equals(""))){ 
     enter_num.setFocusable(isFinishing()); 
     InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(v.getWindowToken(), 0);       
     ans_status2.setVisibility(View.VISIBLE);                 
    } 
} 

這不是失去焦點。這是開始的正確方法嗎?

回答

0

試試這個爲:

public void onFocusChange(View v, boolean hasFocus) { 
    String s = enter_num.getText().toString().concat(""); 
    int length = s.length(); 
    if(length <= 0){     
    } else { 
     if(s.equals("0")){ 
      enter_num.setFocusable(isFinishing()); 
      InputMethodManager imm = (InputMethodManager).getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);       
      ans_status2.setVisibility(View.VISIBLE);                 
     } 
    } 
} 

希望這會幫助你。

+0

我認爲它應該是長度!= 0,但這不是問題,在單擊編輯文本以外的任何位置時,我都希望鍵盤和編輯文本的焦點去,這不會發生onfocuschange! – bharath 2013-03-27 12:45:45