Android

[Android] 소프트키 활성화 여부 확인 하는 방법 (소프트키 비활성화 상태에서 다른 영역 터치 시 오류 해결)

jjinthe 2024. 4. 17. 12:11
728x90

 

EditText 터치 시 자동적으로 소프트 키보드가 올라온다. (소프트 키보드 활성화) 

 

올라온 소프트 키보드 외 다른 영역 터치 시 소프트 키보드가 내려갈 수 있도록 구현 했었다. 

 

 

소프트 키보드 외 다른 영역 터치시 소프트 키보드 비활성화 실행 함수

 

 

 

 

근데 소프트 키보드가 활성화 되지 않은 상태에서 다른 영역 터치시 

아래와 같이 NullPointerException을 뱉어내며 죽는다.

 

에러 메시지를 보면 

android.os.IBinder android.View.View.getWindowToken()이 null 인데 

상태값 (활성화, 비활성화) 을 변경하려고 하니 오류가 뜰 수 밖에 ..

 

 

그래서 getWindowToken() 값이 null 이아닐때만 키보드가 비활성화 되도록 수정했다. 

 

 

 

 

728x90
반응형