Добрый день,
имеется проблема. Простенькая программа для Андроид, нужно считать текст из EditView, при нажатии на Enter на хардварной клавиатуре, что-то с ним сделать, записать полученный текст в TextView, очистить поле EditView и вернуть ему фокус.
Код для этого дела:
code.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == 0) {
tvResult = (TextView) findViewById(R.id.tvResult);
tvResult.setText(code.getText().toString());
code.setText(null);
code.requestFocus();
}
return true;
}
});
Проблема в следующем: если возвращать true, то происходит, как я понял, два срабатывания, код отрабатывает два раза и в TextView соответственно заносится пустая строка, если возвращать false, то код отрабатывает один раз, но поле EditView не получает фокус. Подскажите где грабли, чего ему не хватает для нужного поведения