[EditText] 키보드 닫아 놓고 시작하기
이런 때에는 다음의 소스를 적용할 수 있다. 에딧텍스트가 포커스를 받게 된 후에야 키보드가 펼쳐질 것이다. 엔터 키(확인)를 입력 받으면 키패드가 닫힌다.
eText = (EditText) findViewById(R.id.e_text);
if (eText !=null) {
eText.setText(this.txtValue);
eText.setInputType(InputType.TYPE_NULL);
eText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
eText.setInputType(InputType.TYPE_CLASS_TEXT);
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showSoftInput(eText, 0);
eText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editSetValue.getWindowToken(), 0);
}
return true;
});
}
});
}
또는, 보다 간편한 꼼수로
상위 레이아웃이나 선행 레이아웃의 XML에 다음과 같이 포커스를 설정해준다.
android:focusable="true"
android:focusableInTouchMode="true"
댓글
댓글 쓰기