由于某些特定需求,我在一个活动上有一个WebView,轮换由我管理(Manifest:android:configChanges="keyboardHidden|orientation"
)。
出于测试目的,我正在打开Google.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"
,但没有任何效果。
有人知道吗?
答案 0 :(得分:3)
也许你的WebView
没有焦点?
有人问过类似的问题:Why is Android WebView refusing user input?
解决方案是添加以下行:
webView.requestFocus(View.FOCUS_DOWN);