EditText에 자동 포커스 막기 및 초기 키보드 자동 실행 막기

2018. 1. 17. 20:40 안드로이드/뷰(View)
EditText에 자동 포커스 막기 및 초기 키보드 자동 실행 막기

1. EditText에 자동 포커스 막기

EditText를 실행하면 자동으로 포커스가 가는데 이를 막고자 한다면
EditText이외의 view에 아래와 같은 속성을 추가한다. 일반적으로
EditText 상위 view 즉 Layout에 속성을 추가할 수 있다.

android:focusable="true"
android:focusableInTouchMode="true"

2. EditText 사용시 초기 키보드 자동 실행 막기

EditText를 사용해 프로그래밍할 때 초기 키보드 자동 실행을 막고자 한다면
마니페스트 파일에 Activity 태그에 아래 속성을 추가한다.

android:windowSoftInputMode="stateAlwaysHidden"

3. EditText에 데이터를 입력하고 버튼을 눌렀을 때 같은 Activity내에서
   데이터를 ListView에 추가하는 상황에서 키보드가 계속 실행되는 것 막기


데이터 입력 후 버튼을 누른 후 이벤트 처리하는 핸들러에 아래 코드 추가

//키보드 숨기기
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);