[Android] EditText 객체 포커스, 키보드 표시, 키보드 숨김

[Android] EditText 객체 포커스, 키보드 표시, 키보드 숨김

안드로이드에서 EditText 객체에 editText.requestFocus(); 를 했는데 포커스가 가지 않는 것처럼 보였다. 알고보니 포커스는 이동했는데 키보드가 보이지 않았던 것이었다.

사용자가 EditText 객체를 클릭하면 포커스도 잡히고 키보드도 보이는데, requestFocus 코드로 포커스를 줬을 때는 키보드를 보여주는 코드를 따로 추가해줘야 하는 것 같다… 이런 말도 안되는…

1. EditText 객체 포커스
private EditText editText;

editText = (EditText) findViewById(R.id.messageText);
editText.requestFocus();

2. 키보드 표시
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

3. 키보드 숨김
InputMethodManager immhide = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);

immhide.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);

참고사이트 : https://ellordnet.tistory.com/28