【发布时间】:2011-06-08 13:50:35
【问题描述】:
我已按照此处的各种问题和答案设置我的 Android 活动以覆盖 onConfigurationChanged(),以便在软键盘打开和关闭时执行逻辑。这是我的代码的相关摘录。我把它归结为最简单的场景:
AndroidManifest.xml
...
<activity
android:name=".SearchActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation"
/>
...
SearchActivity.java
...
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
Toast.makeText(this, "onConfigurationChanged()", Toast.LENGTH_SHORT).show();
}
...
上面的代码会在我改变方向时显示 Toast,但在软键盘打开或关闭时什么也不做。我已经测试了通过 EditText 聚焦打开软键盘并通过长按菜单按钮手动打开它。既不触发onConfigurationChanged() 呼叫。
因此,由于方向更改触发,代码似乎可以正常工作,但我对软键盘一无所获。有任何想法吗?如果答案是“onConfigurationChanged() 没有捕获软键盘事件”,那么检测和处理此事件的合适解决方案是什么?
以防万一,我正在运行 Gingerbread 的 Droid X 上进行测试。
【问题讨论】:
-
我也有类似的问题,你终于解决了吗?