본문 바로가기

프로그래밍/Android

[EditText] 키보드 닫아 놓고 시작하기

반응형

액티비티 생성시에 액티비티에 에딧텍스트가 있으면 포커스가 에딧텍스트로 이동해 버린다. 에딧 텍스트가 포커스를 받았으니 키보드가 열릴 것이다. 이것이 기본 동작이다. 에딧텍스트가 맨 앞의 컴포넌트라면 별 상관 없겠지만 긴 화면의 중간 어디 쯤에 있는 컴포넌트라면 의도와는 다르게 로딩하자마자 스크롤까지 되어 버린다.


이런 때에는 다음의 소스를 적용할 수 있다. 에딧텍스트가 포커스를 받게 된 후에야 키보드가 펼쳐질 것이다.


eText = (EditText) findViewById(R.id.e_text);

if (eText !=null) {

    eText.setText(this.txtValue);

    eText.setInputType(0);

    eText.setOnClickListener(new View.OnClickListener() { 

        @Override

        public void onClick(View v) {

            eText.setInputType(1);

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

            imm.showSoftInput(eText, 0);

        }

    });

}




반응형