2016-06-15 54 views
0

目标: 在ID_Display上输入6位数字时,会隐藏键盘。在editText上输入特定位数时隐藏键盘

问题: 键盘难道不隐藏,除非键盘 “输入” 是按

public void keyboard_hide_Listener() { 
    ID_Display = (EditText) findViewById(R.id.ID_display); 
    if (ID_Display != null) {ID_Display.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
      @Override 
      public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
       if (event != null && (ID_Display.getText().length()>=6)) { //event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER) 
        InputMethodManager in = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
        System.out.println("Edit Text Length: " +ID_Display.getText().length()); 
        in.hideSoftInputFromWindow(ID_Display.getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 

        return true; 

       } 
       return false; 
      } 
     }); 
    } 
} 

回答

0

(ID_Display.getText().length()>=6

你或许应该的v.GetText()代替ID_display

+0

改变它去 “如果((事件!= null)&&(v.getText().length()> = 6)){// event!= null &&(event.getKeyCode()== KeyEvent.KEYCODE_ENTER)“ 但我仍然得到相同的结果 –

相关问题