LoginSignup
6
6

More than 5 years have passed since last update.

OnKeyListenerがキーボードを感知するエラーの対処法

Posted at

先日webviewのアプリでログインのためにキーボードで文字を打ち込んだ所、全く文字入力が受け付けつけてもらえず、1つ前のurlに戻ってしまうというエラーが起こりました。

わけも分からずwebview.goback()が呼ばれている所を詳しく見てみると、

webview.setOnKeyListener(new OnKeyListener() {
  @Override
  public boolean onKey(View v, int keyCode, KeyEvent event) {
  }
});

内でgoBack()が呼ばれていることがわかりました。Android Developersに書かれているように、通常ならonKeyListenerはハードウェアのボタンに反応し、ソフトウェア内のボタンには反応しないはずです。事実エミュレーターや他のandroidデバイスでの実機テストではこういったことは起こりませんでした。

原因はわかりませんが、onKeyListenerで実装するのをやめ、onBackPressedをかわりに採用した所、エラーが解決しました。

もし文字の入力などで、エラーが発生した場合はonKeyListenerを疑ってみるもいいかと思います。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6