최신 Jelly Bean 에뮬레이터의 동작에 문제가 있습니다. 내 애플 리케이션에 여러 EditTexts
있습니다. OnEditorActionListener
은 사용자가 키보드에서 Enter 키를 누를 때 특수 처리를 제공합니다. 이것은 ICS까지 작동했지만, 지금은 Jelly Bean에서 청취자 콜백 메소드 onEditorAction()
이 더 이상 호출되지 않습니다. EditText
에는 새 줄만 삽입됩니다.Jelly Bean 에뮬레이터에서 Enter 키를 누른 후 onEditorAction()이 호출되지 않습니다.
EditText testEditText = new EditText(context);
testEditText.setOnEditorActionListener(new OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
Log.d(TAG, "onEditorAction() called");
return false;
}
});
addView(testEditText);
이 젤리 빈의 버그 :
이이 방법을 재현 할 수 있습니까? 아니면 에뮬레이터에서? 아니면 의도적으로 행동이 바뀌 었습니까? 나는이 몇 가지를 테스트 한
: null keyevent and actionid = 0 in onEditorAction() (Jelly Bean/Nexus 7)
이 샘플 프로젝트는 예상대로 동작 : https://github.com/commonsguy/cw-omnibus/tree/master/ActionBar/ActionBarDemo – CommonsWare
@CommonsWare : 당신이, 내가 대한 해결 방법을 발견 감사 제 문제가 있습니다. 다음 작업을 수행하면 ENTER 키가 onEditorAction()을 트리거하는 가상 키보드의 GO 키로 바뀝니다. editText.setRawInputType (InputType.TYPE_CLASS_TEXT); editText.setImeOptions (EditorInfo.IME_ACTION_GO); – Hendrik
또는 XML 형식 : android : imeOptions = "actionGo"\t \t android : inputType = "text" – Hendrik