안드로이드 개발 질문/답변 (글 수 45,052)
  • RSS
  • Skin Info
  • Tag list
  • List
  • Webzine
  • Gallery
soft Keyboard는 

InputMethodManager mInputManager;
mInputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_NOT_ALWAYS);

이렇게 해서 화명에 보여 주었습니다.

이렇게 화면에 soft keyboard가 나와 있는 상태에서 back key를 누르면 화면에서 soft keyboard만 아래로 들어가는데요..
이때 back key를 누른 시점을 알 수 있을까요??

보통은 onKeyDown, onKeyUp으로 key가 눌러진 것을 알 수 있는데.. back만 event를 못 받네요..;;

soft keyboard가 나와 있는 상태에서 search, menu, home 키는 모두 onKeyDown에서 event를 받는데 back만 event를 못 받네요..

soft keyboard가 나와 있는 상태에서 back key event를 받을 수 있는 방법이 있을까요?


댓글
2010.03.12 17:36:13
좋은친구
자답] 아래처럼 ResultReceiver를 달아서 처리 하면 될듯 합니다. 감사합니다.


inputManager.showSoftInput(mSearchText, InputMethodManager.SHOW_IMPLICIT, new SoftInputResultReceiver());

    public class SoftInputResultReceiver extends ResultReceiver {
        public SoftInputResultReceiver() {
            super(getHandler());
        }

        protected void onReceiveResult(int resultCode, Bundle resultData) {
            super.onReceiveResult(resultCode, resultData);

            switch (resultCode) {
                case InputMethodManager.RESULT_HIDDEN:
                    break;
                case InputMethodManager.RESULT_SHOWN:
                    break;
                case InputMethodManager.RESULT_UNCHANGED_SHOWN:
                    break;
                case InputMethodManager.RESULT_UNCHANGED_HIDDEN:
                    break;
                default:
                    break;
            }
        }

    }
댓글
2010.04.23 17:32:50
향긋한소리

정보 감사합니다

댓글
2010.08.02 17:08:34
미라클얀

죄송합니다만, 위의 getHandler() 는 어떻게 구현하는 것인지요?

댓글
2010.09.23 20:03:28
크룬
안타깝게 show 때밖에 이벤트가 발생안하는군요;; 하아~ 어쩐다;;
댓글
2011.11.04 15:47:57
취접

 Since: API Level 3 

ViewGroup

extends View
implements ViewManager ViewParent

-------------

@Override

public boolean dispatchKeyEventPreIme(KeyEvent event) {

if (event.getAction() == KeyEvent.ACTION_UP) {

//여기다 코딩  

}

return super.dispatchKeyEventPreIme(event);

}

--------------


위의 코드 넣으니 잡을 수 있네요. 


혹시 나중에라도 필요하신분 있으실까봐 올립니다.






XE Login

OpenID Login