2010-11-23 3 views
8

하드 또는 소프트 키보드로 키 누름을 정확하게 감지하려면 어떻게합니까?EditText가없는 소프트 키보드 및 키 누름 감지

내 앱은 Wi-Fi를 통해 다른 기기를 원격 제어하며, 소프트 또는 하드 키보드에서 모든 키를 감지해야합니다. 나는 EditText가 실제로 필요하지 않습니다. 왜냐하면 나는 단지 한 번에 하나씩 문자를 보내야하기 때문입니다. 마지막 텍스트 문자열이 필요 없기 때문입니다.

나는 EditKey를 OnKeyPress와 함께 사용하려했지만 소프트 키보드로 키를 누르지 않으면 here 문제가 발생했습니다. 그리고 각각의 키를 누를 필요가 있기 때문에 TextWatcher은 좋은 옵션이 아닙니다.

필자는 꼭해야하지만 사용하지 않을 경우 EditText를 사용하겠습니다. 사용자가

  • 사용자가 키를 누르면 검색 버튼을 안타 나 원격 장치에 코드를 전송할 때
    • 는 소프트 키보드를 불러옵니다 : 내가 진정으로 원하는 것은이다. 정말이 원격 장치에 표시됩니다 년부터 글고에서 화면에 아무 것도 할 필요가 없습니다
    • 사용자 소프트 키보드 버튼을 완료 정의는

    어떤 제안을 닫습니다 프레스?

  • +1

    아직 할 방법을 찾았습니까? –

    +0

    [이] [1] 게시물을보십시오. 이것은 나를 위해 작동합니다. SGS II에서 테스트되었습니다. [1] : http://stackoverflow.com/questions/4579544/can-i-use-the-soft-keyboard-without-an-edittext/6954401#6954401 – miha

    답변

    1

    그럼 당신은 무시할 수있는 [onKeyDown(int keyCode, KeyEvent event)] [1] 및 (또는) [onKeyUp(int keyCode, KeyEvent event)] [2] 응용 프로그램 활동 클래스 방법이 당신도 뒤로 키 및 기타와 같은 키에 대한 통지를 얻을 수 있도록 할 하드웨어 키 ...

    참고 : 당신은 ... 등등 트랙볼의 움직임에 대한 알림을받을 수 있습니다

    [1] : http://developer.android.com/reference/android/view/View.html#onKeyDown(int, android.view.KeyEvent) [2] : http://developer.android.com/reference/android/view/View.html#onKeyUp(int, android.view .KeyEvent)

    +1

    고맙지 만이 '케이 부드러운 키보드로 작동하는 것 같습니다. 나는 onKeyDown을 오버라이드하고 있으며 문자 나 숫자로 트리거되지 않습니다. –