Nuke Olaf - Log Store
[Android] 안드로이드 - 키보드 올리기, 내리기 (soft input) 본문
* EditText 의 id 가 textInput 이다
키보드 올리기
fun showSoftInput() { val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.showSoftInput(textInput, 0) }
키보드 내리기
fun hideSoftInput() { val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(textInput.windowToken, 0) }
* 키보드 올리기, 내리기 작동 안할때
D/InputMethodManager: showSoftInput - cancel : mServedView != view : DecorView@fb022ab[ActivityDetail]
이런 로그가 찍히면서 키보드 올리기/내리기가 제대로 작동하지 않는 경우가 있다.
아래와 같이 EditText에 requestfocus() 를 사용해주면 된다.
fun showSoftInput() { textInput.requestFocus() val inputMethodManager = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.showSoftInput(textInput, 0) }
'Android' 카테고리의 다른 글
[Android] 안드로이드 - 리사이클러뷰 스크롤 상태저장 (0) | 2020.05.06 |
---|---|
[Android] 안드로이드 - 네트워크 타임아웃 시간 설정 (0) | 2020.05.05 |
[Android] 안드로이드 - 고차함수 사용하여 SearchView BindingAdpater 만들기 (feat. dataBinding) (0) | 2020.05.04 |
[Android] 안드로이드 - Data Binding 사용시 리사이클러뷰 레이아웃이 이상해질 때 (0) | 2020.05.04 |
[Android] 안드로이드 - 리사이클러뷰 Data Binding 으로 리팩토링하기 (1) | 2020.05.03 |
Comments