본문 바로가기

프로그래밍/안드로이드

안드로이드 키보드 열기/닫기 (최신판)

안드로이드에서 edittext에 포커스가 있을 때 키보드를 열고 닫고싶어서

검색을해보니 죄다. imm.toggleInput 어쩌고 저쩌고 시작하는 코드만 적혀있는 결과만 나온다.

.... 결론부터 말하면 절대 안쓰는게 좋다 ㅡㅡ

조건검사없이 무조건 누를때마다 키보드가 열렸다 닫혔다 한다. 에효..

키보드가 열려있으면 안열어도 되고
키보드가 닫혀있으면 안닫아도되는데

그냥 무조건 열고닫고를 반복하는 메소드가 바로 저 toggleInput 어쩌고로 시작하는 메소드다.

이거때문에 시간 너무 많이 썼다.

이게 최고다. 


1
2
3
4
5
6
7
8
9
10
11
12
//열기전 뷰에 포커스 가 있는지 확인.
if(view.requestFocus()){
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
                    imm.showSoftInput(message, InputMethodManager.SHOW_IMPLICIT);
}
 
//닫기전 뷰에 포커스 있는지 확인.
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
if (imm.isActive(message)){
    imm.hideSoftInputFromWindow(message.getWindowToken(), 0);
}
 
cs