2012-01-23 5 views
1

레이아웃에 추가 한 간단한 편집 문구가 있습니다. 응용 프로그램이 시작편집 도움말 - onKeyListener가 작동하지 않습니다.

final EditText simpleEditText = (EditText) findViewById(R.id.editText1); 
simpleEditText.setOnKeyListener(new OnKeyListener() { 
@Override 
public boolean onKey(View arg0, int arg1, KeyEvent arg2) { 
    System.out.println("HELLO"); 
    return false; 
} 
}); 

는, 모든 것이 제대로 작동 다음에서 onCreate 방법으로 다음과 같이 나는 간단한 OnKeyListener을 추가했다. 모든 키를 누를 때마다 HELLO가 두 번 인쇄됩니다. 한 번은 DOWN 동작을하고 한 번은 UP 동작을 수행합니다.

이제 마우스로 edittext를 클릭하면 edittext는 더 이상 내 onKey 메서드에서 코드를 실행하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 사용자가 edittext를 클릭 한 후에도 키 이벤트를 수신하고 싶습니다. 나는 마우스 클릭에 신경 쓰지 않고 커서 위치를 바꾸기 위해서만 사용하고있다. 커서 위치를 변경하면 키 이벤트가 더 이상 등록되지 않습니다.

자세한 내용은 첨부 된 이미지를 참조하십시오.

감사 Zamil에는

http://i.stack.imgur.com/j2DP7.jpg

답변

1

As per android API, onKey는 을 누른 실제 키에 대한 작동합니다. 마우스 클릭에 대해 OnClickListener를 고려해야 할 수도 있습니다. 다음은 API documentation입니다.

+0

사용자가 edittext를 클릭 한 후에도 여전히 키 이벤트를 수신하고 싶습니다. 나는 마우스 클릭에 신경 쓰지 않고 커서 위치를 바꾸기 위해서만 사용하고있다. 커서 위치를 변경하면 키 이벤트가 더 이상 등록되지 않습니다. – user1137939

0

클릭 이벤트는 키 이벤트가 아닙니다. 키 이벤트를 제외하고는 onKey 이벤트를 수신하지 않아야합니다.

+0

사용자가 edittext를 클릭 한 후에도 여전히 키 이벤트를 수신하고 싶습니다. 나는 마우스 클릭에 신경 쓰지 않고 커서 위치를 바꾸기 위해서만 사용하고있다. 커서 위치를 변경하면 키 이벤트가 더 이상 등록되지 않습니다. – user1137939

관련 문제