0

我知道以前有人问过这个问题,但答案对我不起作用。所以,我想在软键盘弹出时更改我的应用程序中的某些内容。这是我的代码。我不想做任何有趣的事情,只是为了看到 onConfigurationChanged 被调用。可能导致这种情况的原因是,我为其设置事件的活动具有父 Tab 活动。这是什么代码:

这是我的清单文件。MainTabActivity 是 MyActivity 的父活动,MyActivity 扩展了抽象活动 BaseActivity。

activity android:name=".MainTabActivity" android:configChanges="keyboardHidden"></activity>        
activity android:name=".BaseActivity" android:configChanges="keyboardHidden"></activity>                  
activity android:name=".MyActivity" android:theme="@style/Theme.NoBackground"
          android:configChanges="keyboardHidden"></activity>

这是 MyActivity 中的 m java 代码:

@Override
    public void onConfigurationChanged (Configuration newConfig) {
        showNewAlertBox("update", "key board is out");
        if(newConfig.hardKeyboardHidden == Configuration.KEYBOARDHIDDEN_NO){
            showNewAlertBox("update", "key board is out");
        } 
    }

如您所见,我只是在触发事件时尝试打印一些东西。

4

1 回答 1

2

onConfigChange 不会拦截软键盘可见性的变化,因为它不是配置更改。

于 2011-12-19T12:59:20.940 回答