마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

버튼을 눌렀을 때 소프트 키보드 숨기는걸 하는데요

0 추천

상단에 현재 액티비티를 finish() 하여 뒤로 가는 버튼을 만들었습니다.

액티비티에 있는 에디트박스에 포커스가 가서 키보드가 올라왔을 때

뒤로가기 버튼을 누르면 액티비티는 없어지는데 키보드는 계속 올라와있는 상태더라구요

 

InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

inputManager.hideSoftInputFromWindow(EditText.getWindowToken(), 0);

 

소스를 사용해서 뒤로가기 버튼 눌렀을 때 소프트 키보드를 숨겨주기로 했는데

에디트텍스트가 여러개 일 때 각 에디트텍스트마다 

inputManager.hideSoftInputFromWindow(editText1.getWindowToken(), 0);

inputManager.hideSoftInputFromWindow(editText2.getWindowToken(), 0);

inputManager.hideSoftInputFromWindow(editText3.getWindowToken(), 0);

이렇게 해줘야 하는지 알았는데 어떤 EditText를 눌렀을 때 올라온 키보드인지에 관계 없이 

다 사라지더라구요

 

심지어 다른 뷰.getWindowToken()을 해도 사라지던데.. 

hideSoftInputFromWindow(파라미터1,파라미터2) 에서 파라미터1의 용도가 궁금합니다.

 

익명사용자 님이 2014년 5월 12일 질문

1개의 답변

0 추천

아마도 getWindowToken()이 반환하는 windowToken이 같은 객체를 가리키는거 같네요.

뷰들이나 키보드나 같은 윈도우에 attach된 거라 그런거 같네요.

코딩인헬 (12,150 포인트) 님이 2014년 5월 13일 답변
...