2012-12-31 4 views
-1

BlackBerry에서 EditField으로 입력되거나 삭제 된 모든 문자로 콜백을 받아야합니다. 포커스를 잃지 않고 서면 작성하자마자 EditField의 텍스트를 가져와야합니다.editfield blackberry에서 문자를 입력하는 중 콜백

+1

"keylogger"태그를 잊어 버렸습니다. –

+0

@LinusKleen, 왜 이것이 키 로거 용이라고 가정합니까? 이를 위해 많은 합법적 인 사용 사례가 있습니다. 특히 사용자가 필요 이상으로 키를 누르지 않아도되는 휴대 기기 (예 : ** Enter **)는 의미가 있습니다. 또는 자동 완성. 게다가,이 질문에 대한 대답은 블랙 베리에서 자신이 아닌 다른 앱에서 * 로그 * 키를 사용하지 않을 것입니다. 이것은 거의 [이 다른 질문] (http://stackoverflow.com/q/14098719/119114)을 지원한다는 것을 말할 필요도 없습니다. – Nate

+1

이것은 합법적 인 BlackBerry 질문입니다. 너무 성급하게 닫혔습니다. 나는 '다시 열어 라'라고 지명하고있다 –

답변

1

여러 가지 방법이 있습니다. 예를 들어,이 같은 EditField 인스턴스가있는 경우 :

private EditField _editField; 

은 다음 EditField를 서브 클래스 수를하고 keyChar() 방법 오버라이드 (override) :

_editField = new EditField() { 
    protected boolean keyChar(char key, int status, int time) { 
     super.keyChar(key, status, time); 
     // 'key' is the most recent entered char 
    } 
}); 

또는, 당신이 FieldChangeListener을 구현할 수 있습니다 및 변경을 수신 :

_editField.setChangeListener(new FieldChangeListener() { 
    public void fieldChanged(Field field, int context) { 
     String text = _editField.getText(); 
     // 'text' is the full text contents of the EditField 
    } 
}); 
+0

그것은 효과가 있었다. 정말 고맙습니다 !!! – Sakshi

+0

반갑습니다. 질문이 닫히면 대답을 수락 할 수 있는지 모르겠지만이 답 옆에 작은 체크 표시 아이콘 ("V")이 있으면 문제가 해결되었음을 나타 내기 위해 그것을 클릭하십시오. 감사! – Nate