EditText с мягкой клавиатурой и кнопкой «Назад» - PullRequest
12 голосов
/ 04 июля 2011

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

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

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

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

Спасибо.

Ответы [ 2 ]

19 голосов
/ 04 июля 2011

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

  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 не исчезает, когда клавиатура исчезает

0 голосов
/ 11 мая 2015

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

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);

            }
        });
...