O foco é para selecionar os componentes da IU quando você está usando algo além do toque (ou seja, um d-pad, um teclado, etc.). Qualquer visualização pode receber foco, embora alguns não sejam focalizáveis por padrão. (Você pode tornar uma visualização focalizável setFocusable(true)e forçá-la a ser focalizada requestFocus().)
No entanto, é importante observar que, quando você está no modo de toque, o foco é desativado . Portanto, se você estiver usando os dedos, alterar o foco programaticamente não fará nada. A exceção é para visualizações que recebem entrada de um editor de entrada. Um EditTexté um exemplo. Para esta situação especial, setFocusableInTouchMode(true)é usado para permitir que o teclado virtual saiba para onde enviar a entrada. Um EditTexttem essa configuração por padrão. O teclado virtual aparecerá automaticamente.
Se você não quiser que o teclado virtual apareça automaticamente, pode suprimi-lo temporariamente, conforme observou @abeljus:
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
Quando um usuário clica no EditText, ele ainda deve mostrar o teclado.
Leitura adicional: