EditText с мягкой клавиатурой и кнопкой "Назад"

Когда я использую "EditText", у меня есть виртуальная клавиатура.

При первом нажатии кнопки "Назад" клавиатура скрывается. Второе нажатие вызывает в моей активности обратный вызов onBackPressed. Да, но...

Я понятия не имею, как подключить самый первый пресс. Мне нужно обрабатывать входные данные, как только виртуальная клавиатура закрывается.

Любые идеи приветствуются.

Благодарю.

2 ответа

Решение

Вы можете переопределить, когда клавиатура исчезает, используя этот метод:

  public boolean onKeyPreIme(int keyCode, KeyEvent event) {
   if (keyCode == KeyEvent.KEYCODE_BACK && 
       event.getAction() == KeyEvent.ACTION_UP) {
           // Do your thing here
           return false;
   }
   return super.dispatchKeyEvent(event);
  }

Взято из моего другого ответа @: Android: всплывающее окно ошибки на EditText не перемещается, когда клавиатура исчезает

Пользовательская кнопка возврата:-

final RelativeLayout rrBack = (RelativeLayout) mCustomView.findViewById(R.id.rr_back);
        rrBack.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                MyApplication.getInstance().getRequestQueue().cancelAll(FEED_DETAIL_TAG_REQUEST);
                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(rrBack.getWindowToken(), 0);

            }
        });
Другие вопросы по тегам