У меня есть простое действие с EditText.Я хочу сохранить данные формы, когда пользователь вводит имя в EditText и затем нажимает Enter.
Все работает, кроме одной вещи.Переменная keyCode - это 0 вместо 66 (KeyEvent.KEYCODE_ENTER).
У кого-нибудь есть идеи, в чем проблема?
Мой макет xml:
<EditText
android:id="@+id/etName"
style="@style/EditTextFont"
android:inputType="textPersonName" />
Моя активность:
private EditText etName;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.form);
etName = (EditText) findViewById(R.id.etName);
etName.setOnEditorActionListener(this);
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch (v.getId()) {
case R.id.etName:
// actionId will be EditorInfo.IME_NULL if being called
// due to the enter key being pressed.
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(actionId == EditorInfo.IME_NULL)) {
save();
return true;
}
}
return false;
}
С уважением, Маттиас