Android:WebView旋转可以阻止键盘打开

时间:2011-08-19 10:18:07

标签: android keyboard webview

由于某些特定需求,我在一个活动上有一个WebView,轮换由我管理(Manifest:android:configChanges="keyboardHidden|orientation")。

出于测试目的,我正在打开Goog​​le.com。

第一次,Google.com打开它一切都很棒。但是,在我旋转设备后,焦点事件似乎停止工作。

按下Google.com的搜索框时,软键盘无法打开... LogCat上甚至没有显示任何事件。

在轮播之前,这些是按下google.com搜索框并且键盘正在打开时显示的日志:

08-19 11:13:19.765: INFO/KeyInputQueue(2497): Input event
08-19 11:13:19.765: DEBUG/KeyInputQueue(2497): screenCaptureKeyFlag setting 0
08-19 11:13:19.769: ERROR/KeyLedTest(2581): KeyLedTest++
08-19 11:13:19.773: ERROR/KeyBoardLed(2497): UpdateState../sys/class/sec/keyboard/keyboard_led state false
08-19 11:13:19.773: ERROR/KeyBoardLed(2497): UpdateState../sys/class/sec/keyboard/keyboard_led state false finished
08-19 11:13:19.773: ERROR/KeyLedTest(2581): service.UpdateState0

旋转后,按下时显示无...

我在按下搜索框时尝试查看是否调用onConfigurationChanged方法,但事实并非如此。我还试图从Manifest中移除键盘android:configChanges="orientation",但没有任何效果。

有人知道吗?

1 个答案:

答案 0 :(得分:3)

也许你的WebView没有焦点?

有人问过类似的问题:Why is Android WebView refusing user input?
解决方案是添加以下行:

webView.requestFocus(View.FOCUS_DOWN);