본문 바로가기

ANDROID

[안드로이드] EditText 키보드 막기 종합대책 (키보드 막고, 원클릭에 OnClick 수행하고)

우선 출발은 EditText 부분을 눌렀을 때 키보드가 올라오지 않게하고, NumberPicker를 띄워 입력값을 지정할 수 있도록 하는 것이었다.


그런데 다른 EditText 부분들이 함께 있다보니 다른 부분을 키보드로 입력하다 해당 타겟쪽으로 오게되면 자동으로 키보드를 불러오는지라


타겟 이외에 다른 EditText 부분들도 전부 막아주는 노력을 해서 키보드를 완전히 막는데는 성공했는데


다음 문제는 EditText 부분을 두 번 클릭해줘야 (혹은 선택되어 포커스 되어있는 상태에서 한 번) OnClick를 인식하는 것이었다.



한글 문서로 되지 않을 때는 다음 영어로 입력을 시작하면 된다. 그렇게 스택 오버플로우에서 해답을 찾을 수 있었다.


타겟으로 둔 EditText의 android:focusableInTouchMode 를 false로 설정해주고 나면 이후에는 클릭 한번으로


OnClick을 수행하는 걸 확인할 수 있다.


< 필요한 세 가지>


타겟.setInputType(0);  // 키보드 막기


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

타겟.setInputType(1);


mgr.showSoftInput(userWeight, InputMethodManager.SHOW_IMPLICT);








< 참고 >


https://stackoverflow.com/questions/10493560/single-click-edittext


https://m.blog.naver.com/PostView.nhn?blogId=dla210&logNo=220708658893&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F