![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
![]()
Android: поймать back в EditText2013-10-30 03:19:28 (читать в оригинале)Задачка — отловить нажатие хардварьной кнопки back и OK (или Done) на экранной клавиатуре при фокусе на В Activity ищем наш EditText, вешаем события: TextView input = (TextView)findViewById(R.id.input); if (input != null) { input.setOnEditorActionListener(this); input.setOnKeyListener(this); } Далее реализовываем обработчики: public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) { if (actionId == EditorInfo.IME_ACTION_DONE){ // делаем свои дела return true; } return false; } public boolean onKey(View view, int keyCode, KeyEvent keyEvent) { if (keyCode == KeyEvent.KEYCODE_BACK) { // делаем свои дела return true; } return false; } Проверяем. public class EditTextEx extends EditText { public EditTextEx(Context context, AttributeSet attrs) { super(context, attrs); } public EditTextEx(Context context) { super(context); } public EditTextEx(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { dispatchKeyEvent(event); return false; } return super.onKeyPreIme(keyCode, event); } } И после заменяем в наших layout-ах <EditText android:id="@+id/input" /> на <com.acme.EditTextEx android:id="@+id/input" /> Вообще разработка под Android начинает чем-то напоминать мне JavaScript под IE... куча псевдо-совместимых версий ОС и девайсов и, как результат, хак на хаке и хаком погоняет...
|
![]() ![]() ![]()
Категория «Стихи»
Взлеты Топ 5
Падения Топ 5
![]()
Популярные за сутки
|
Загрузка...
![Загрузка... Загрузка...](/themes/1/i/loader/loader.gif)
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.